Signaler un bug

Suivez les étapes indiquées sur cette page pour créer un rapport de bug. Les ressources pour corriger les bugs étant limitées, nous donnons la priorité aux bugs pour lesquels nous disposons d'informations complètes. Les rapports de bug incomplets seront clôturés. Si vous vous trouvez dans cette situation, renvoyez votre bug en fournissant des informations supplémentaires.

Pour éviter de signaler un bug qui a déjà été corrigé, veillez à utiliser les dernières versions des outils. Vous pouvez également rechercher des problèmes similaires sur Issue Tracker pour Android Studio afin de vérifier si le problème que vous rencontrez a déjà été signalé.

Signaler un bug

Pour signaler un bug, procédez comme suit :

  1. Pour ouvrir un rapport de bug depuis Android Studio, sélectionnez Help > Submit Feedback (Aide > Envoyer des commentaires).

    Il s'agit du moyen le plus simple d'entamer la procédure, car le rapport de bug est prérempli avec votre version d'Android Studio, votre version de Java ou Kotlin et les informations système. Nous avons en effet besoin de ces renseignements pour reproduire le problème.

    Vous pouvez également signaler le bug ici et ajouter vous-même les informations sur les versions.

  2. Veuillez joindre un rapport de diagnostic pour que nous puissions corriger votre problème. Pour générer un fichier ZIP de rapport de diagnostic, cliquez sur Help > Collect Logs and Diagnostic Data (Aide > Collecter les journaux et les données de diagnostic).

  3. Décrivez exactement les étapes à suivre pour reproduire le problème. Fournissez le maximum d'informations, y compris des extraits de code, un projet GitHub pouvant être utilisé pour reproduire le bug, ainsi que des captures d'écran ou des enregistrements de ce que vous obtenez.

  4. Décrivez en détail le problème rencontré. Expliquez le résultat attendu et ce que vous avez obtenu à la place.

  5. Choisissez un titre descriptif pour le rapport de bug. Cela nous permettra de trier plus facilement les problèmes.

Pour certains bugs, nous avons besoin d'informations supplémentaires, comme décrit dans les sections suivantes :

Informations supplémentaires pour les bugs dans Android Studio

Pour signaler des bugs propres à Android Studio, ajoutez des informations supplémentaires comme décrit dans cette section.

Si l'IDE se bloque

Si l'IDE lui-même semble très lent ou complètement bloqué, générez quelques copies de threads (comme décrit sur cette page) et joignez-les au rapport de bug. Elles nous indiquent quelle tâche ralentit l'IDE.

Si l'IDE est lent, mais pas complètement bloqué, joignez le fichier idea.log à votre rapport de bug. Pour joindre le fichier, sélectionnez Help > Collect Logs and Diagnostic Data (Aide > Collecter les journaux et les données de diagnostic) ou Help > Show Log in Files (Aide > Afficher le journal dans Files) (Help > Show Log in Finder [Aide > Afficher le journal dans le Finder] sous macOS). Ce fichier indique si l'IDE génère des erreurs dans le journal.

Utiliser des profils de processeur pour diagnostiquer les ralentissements

Si vous rencontrez des ralentissements avec Android Studio, les profils de processeur peuvent parfois vous aider à diagnostiquer le problème.

Pour capturer un profil de processeur à l'aide du plug-in de test de performance Android Studio, procédez comme suit :

  1. Installez le plug-in.

    • Dans Android Studio, recherchez "Performance Testing" (Test de performance) parmi les plug-ins proposés.
    • Vous pouvez également télécharger une version compatible avec Android Studio sur le site Web du plug-in.
  2. Créez le profil de processeur.

    1. Lorsqu'Android Studio semble ralentir, sélectionnez Start CPU Usage Profiling (Démarrer le profilage d'utilisation du processeur).
    2. Répétez quelques-unes des actions qui connaissent une latence problématique (saisie automatique du code, mise à jour de la coloration syntaxique au fur et à mesure de la saisie, etc.).
    3. Cliquez sur Stop CPU Usage Profiling (Arrêter le profilage d'utilisation du processeur).
  3. Partagez le fichier de profil.

    Une infobulle s'affiche et indique le nom du fichier d'instantané du processeur, au format snapshot-NNN. Partagez ce fichier d'instantané dans votre rapport de bug.

Si l'IDE est à court de mémoire

Les problèmes de mémoire dans Android Studio sont parfois difficiles à reproduire et à signaler. Pour vous aider à résoudre ce problème, Android Studio propose un rapport sur l'utilisation de la mémoire que vous pouvez envoyer à l'équipe Android Studio afin d'identifier la source des problèmes de mémoire.

Générer un rapport sur l'utilisation de la mémoire

Pour générer un rapport sur l'utilisation de la mémoire, procédez comme suit :

  1. Cliquez sur Help > Analyze Memory Usage (Aide > Analyser l'utilisation de la mémoire) dans la barre de menu.

    Android Studio crée une copie du tas de mémoire et vous invite à redémarrer IDE. Si vous redémarrez IDE, l'analyse de la copie du tas de mémoire commence immédiatement. Sinon, cette analyse démarrera la prochaine fois que vous exécuterez Android Studio. Dans les deux cas, l'IDE vous avertit dès que le rapport d'utilisation de la mémoire est prêt à être examiné, comme illustré dans la figure 1.

    Notification indiquant qu'un rapport d'utilisation de la mémoire est prêt à être examiné
    Figure 1. Notification concernant le rapport d'utilisation de la mémoire
  2. Cliquez sur Review Report (Examiner le rapport).

    Avant d'envoyer le rapport, vous pouvez examiner les informations incluses :

    Rapport d'utilisation de la mémoire
    Figure 2. Analyse du rapport d'utilisation de la mémoire
  3. Une fois l'examen terminé, copiez le contenu du rapport dans un fichier, puis joignez ce fichier quand vous signalez votre bug.

    Lorsque vous envoyez les informations du rapport de cette manière, l'équipe Android Studio peut communiquer avec vous à l'aide d'Issue Tracker pendant qu'elle examine vos problèmes de mémoire.

Si l'IDE plante ou génère des exceptions

Pour les autres types de plantages, joignez le fichier idea.log trouvé en sélectionnant Help > Collect Logs and Diagnostic Data (Aide > Collecter les journaux et les données de diagnostic) ou Help > Show Log in Files (Aide > Afficher le journal dans Files) (Help > Show Log in Finder[Aide > Afficher le journal dans le Finder] sous macOS).

Générer une copie de thread

Une copie de thread est une impression de tous les threads exécutés dans la JVM. Elle inclut une impression de tous les cadres de pile pour chaque thread. Cela vous permet de voir facilement ce que l'IDE est en train de faire, en particulier si vous générez plusieurs copies de threads à quelques secondes d'intervalle.

Si vous signalez des bugs alors que l'IDE est extrêmement occupé par un processeur coincé ou qu'il semble bloqué, une copie de thread peut identifier le code à l'origine de nombreuses opérations ou les threads qui se disputent des ressources et provoquent un interblocage.

Le JDK est fourni avec un outil nommé jstack, qui permet de générer une copie de thread. Tout d'abord, recherchez l'identifiant (PID) du processus Android Studio. Pour ce faire, exécutez la commande jps.

Sous Linux ou macOS :

jps -mv | grep studio

Sous Windows :

jps -mv | findstr studio

Une longue ligne est alors affichée :

$ jps -mv | grep studio
37605 -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true ...

Le premier numéro (37605, dans cet exemple) est l'identifiant du processus.

Générez ensuite une copie de thread et enregistrez-la dans un fichier dump.txt :

jstack -l pid >> dump.txt

Si cela ne fonctionne pas, d'autres moyens propres à la plate-forme existent pour générer une copie de thread. Pour obtenir des instructions détaillées, consultez l'assistance IntelliJ.

Informations supplémentaires pour les bugs dans Gradle et les outils de compilation

Pour signaler un bug concernant Gradle ou des outils de compilation, joignez un projet réel ou un exemple de projet illustrant le problème afin que toutes les informations nécessaires soient capturées. Supprimez toutes les informations sensibles avant de partager votre projet.

Si vous ne pouvez pas partager un projet, indiquez les versions des outils dont vous vous servez. (Veillez à utiliser la dernière version stable ou preview avant de signaler un bug.) Pour connaître la version de vos outils, procédez comme suit :

  • Version du plug-in Android Gradle :

    1. Sélectionnez File > Project Structure (Fichier > Structure du projet).
    2. Cliquez sur Project (Projet).
    3. Recherchez la version du plug-in Android Gradle (Android Gradle Plugin Version).
  • Version de Gradle :

    1. Sélectionnez File > Project Structure (Fichier > Structure du projet).
    2. Cliquez sur Project (Projet).
    3. Recherchez la version de Gradle (Gradle Version).
  • Version d'Android Studio :

    1. Sélectionnez Help > About (Aide > À propos).
    2. Recherchez la version d'Android Studio (Android Studio Version).

Incluez également les informations suivantes, le cas échéant :

  • Si un comportement a changé de manière inattendue entre une version antérieure et la version actuelle, indiquez les deux versions.
  • Si la compilation échoue avec une erreur, exécutez-la à partir de la ligne de commande avec l'option --stacktrace (par exemple, ./gradlew <task> --stacktrace) et fournissez une trace de la pile dans votre rapport de bug.
  • Si le build prend plus de temps que prévu, essayez l'une des solutions suivantes :
    • Exécutez ./gradlew <task> --scan et transmettez l'analyse de compilation Gradle générée dans votre rapport de bug.
    • Exécutez ./gradlew <task> -Pandroid.enableProfileJson=true et partagez les fichiers Chrome-trace générés dans le répertoire <root-project>/build/android-profile.

Informations supplémentaires pour les bugs dans Android Emulator

Pour collecter des informations et signaler un bug à l'aide des commandes avancées de l'émulateur, procédez comme suit :

  1. Dans le panneau de l'émulateur, cliquez sur More (Plus) .
  2. Dans la fenêtre Extended controls (Commandes avancées), sélectionnez Bug report (Rapport de bug).

    Un écran contenant les détails du rapport de bug, tels qu'une capture d'écran, les informations de configuration de l'AVD et un journal du rapport de bug, s'affiche. Vous pouvez indiquer ici les étapes à reproduire ou les saisir dans le rapport généré à l'étape suivante.

  3. Attendez la fin de la collecte du rapport, puis cliquez sur Send to Google (Envoyer à Google).

    Une fenêtre s'ouvre pour vous permettre d'enregistrer le rapport de bug dans un dossier. Votre navigateur s'ouvre également et vous permet de créer un rapport dans Issue Tracker de Google qui contient déjà les informations d'émulateur requises.

  4. Dans le rapport, renseignez tous les autres détails, tels que les étapes permettant de reproduire le bug, et joignez les fichiers enregistrés lors de sa création.

Sinon, saisissez manuellement les informations suivantes :

  • Version de l'émulateur

    1. Dans l'émulateur, ouvrez Extended controls (Commandes avancées).
    2. Cliquez sur Help (Aide).
    3. Cliquez sur l'onglet About (À propos), puis recherchez la version de l'émulateur (Emulator Version).
  • Version du SDK Tools pour Android

    1. Sélectionnez Tools > SDK Manager (Outils > SDK Manager).
    2. Cliquez sur SDK Tools.
    3. Recherchez Android SDK Tools (SDK Tools pour Android).
  • Modèle du processeur hôte

    • Sous Linux : ouvrez /proc/cpuinfo.
    • Sous Windows : effectuez un clic droit sur Poste de travail, puis sélectionnez Propriétés.
    • Sous macOS : sélectionnez l'icône Apple et cliquez sur À propos de ce Mac.
  • Nom de l'appareil

    1. Dans AVD Manager, cliquez sur le menu dans la colonne Actions de l'appareil.
    2. Sélectionnez View Details (Afficher les détails) ou ouvrez le fichier $avdname.avd/config.ini.
    3. Recherchez l'entrée hw.device.name. Exemple : hw.device.name=Nexus 5.