Un rapport de bogue contient des journaux d’appareil, des traces de pile et d’autres informations de diagnostic pour vous aider à trouver et à corriger les bogues de votre application. Vous pouvez capturer un rapport de bogue à partir de votre appareil en utilisant soit l’option de développeur Take bug report sur l’appareil, le menu de l’émulateur Android, ou la commande adb bugreport
sur votre machine de développement.
Figure 1. Options du développeur
Pour prendre un rapport de bogue, vous devez avoir les options du développeur activées sur votre appareil pour pouvoir accéder à l’option Prendre un rapport de bogue.
Capturer un rapport de bogue à partir d’un appareil
Figure 2. Le rapport de bogue est prêt
Pour obtenir un rapport de bogue directement à partir de votre appareil, procédez comme suit :
- Veuillez vous assurer que les options du développeur sont activées.
- Dans les options du développeur, appuyez sur Prendre un rapport de bogue.
- Sélectionnez le type de rapport de bug que vous voulez et appuyez sur Rapport.
Après un moment, vous obtenez une notification indiquant que le rapport de bug est prêt (voir figure 2).
- Pour partager le rapport de bug, appuyez sur la notification.
Capturer un rapport de bogue à partir de l’émulateur Android
Depuis l’émulateur Android, vous pouvez utiliser la fonctionnalité Déposer un bogue dans les commandes étendues :
- Cliquez sur Plus dans le panneau de l’émulateur.
-
Dans la fenêtre des commandes étendues, sélectionnez Rapport de bogue sur la gauche.
Cela ouvre un écran où vous pouvez voir les détails du rapport de bogue tels que la capture d’écran, les infos de configuration de l’AVD et le journal du rapport de bogue. Vous pouvez également saisir un message avec des étapes de reproduction à sauvegarder avec le rapport.
-
Attendez que le rapport de bogue finisse de collecter, puis cliquez sur Enregistrer le rapport.
Capturer un rapport de bogue en utilisant adb
Si vous n’avez qu’un seul périphérique connecté, vous pouvez obtenir un rapport de bogue en utilisantadb
comme suit :
$ adb bugreport E:\Reports\MyBugReports
Si vous ne spécifiez pas de chemin pour le rapport de bogue, il est enregistré dans le répertoire local.
Si vous avez plusieurs périphériques connectés, vous devez spécifier le périphérique avec l’option-s
. Exécutez les commandes adb
suivantes pour obtenir le numéro de série du périphérique et générer le rapport de bogue.
$ adb devicesList of devices attachedemulator-5554 device8XV7N15C31003476 device$ adb -s 8XV7N15C31003476 bugreport
Inspecter le fichier ZIP du rapport de bogue
Par défaut, le fichier ZIP s’appellebugreport-BUILD_ID-DATE.zip
et il peut contenir plusieurs fichiers, mais le fichier le plus important estbugreport-BUILD_ID-DATE.txt
. C’est le rapport de bogue et il contient la sortie de diagnostic pour les services système (dumpsys
), les journaux d’erreurs (dumpstate
), et les journaux de messages système (logcat
). Les messages du système comprennent les traces de la pile lorsque l’appareil jette une erreur, et les messages écrits à partir de toutes les applications avec la classeLog
.
Le fichier ZIP contient un fichier de métadonnées version.txt
qui contient la lettre de sortie d’Android, et lorsque systrace est activé, le fichier ZIP contient également un fichier systrace.txt
. L’outilSystrace aide à analyser les performances de votre application en capturant et en affichant les temps d’exécution des processus de votreapplication et des autres processus du système Android.
L’outil dumpstate
copie les fichiers du système de fichiers de l’appareildans le fichier ZIP sous le dossier FS
afin que vous puissiez les référencer. Par exemple, un fichier /dirA/dirB/fileC
dans le dispositif génère une entréeFS/dirA/dirB/fileC
dans le fichier ZIP.
Figure 3. Structure du fichier de rapports de bogues
Pour plus d’informations, consultez la section Lire les rapports de bogues.
Atteindre les rapports de vos utilisateurs
Capturer les rapports de bogues comme décrit ci-dessus est utile lorsque vous utilisez l’appyourself, mais vos utilisateurs finaux ne peuvent pas facilement partager ces types de rapports de boguesavec vous. Pour obtenir des rapports d’écrasement avec des traces de pile provenant d’utilisateurs réels,vous devez tirer parti des fonctionnalités de rapport d’écrasement de Google Play et de Firebase.
Console Google Play
Vous pouvez obtenir des rapports à partir de la console Google Play pour afficher les données relatives aux écrasements et aux erreurs d’application ne répondant pas (ANR) des utilisateurs qui ont installé votre application à partir de Google Play.Les données sont disponibles pour les six mois précédents.
Pour plus d’informations, consultez la rubrique Afficher les crashs & les erreurs d’application ne répondant pas (ANR) dans l’aide de la Play Console.
Firebase Crashlytics reporting
Firebase Crashlytics reporting crée des rapports détaillés des erreurs de votre app.Les erreurs sont regroupées en problèmes en fonction de la présence de traces de pile similaires, et triées en fonction de la gravité de l’impact sur vos utilisateurs. En plus des rapports automatiques, vous pouvez enregistrer des événements personnalisés pour aider à capturer les étapes menant à un crash.
Vous commencerez à recevoir des rapports de crash de n’importe quel utilisateur en ajoutant simplement les dépendancesFirebaseà votre fichier build.gradle
. Pour plus d’informations, voirFirebase Crashlytics.