Un rapporto sui bug contiene i log del dispositivo, le tracce dello stack e altre informazioni diagnostiche che ti aiutano a trovare e risolvere i bug della tua applicazione. Puoi catturare un rapporto di bug dal tuo dispositivo usando l’opzione Take bug report developer sul dispositivo, il menu di Android Emulator, o il comando adb bugreport
sulla tua macchina di sviluppo.
Figura 1. Opzioni sviluppatore
Per prendere una segnalazione di bug, devi avere le opzioni sviluppatore abilitate sul tuo dispositivo in modo da poter accedere all’opzione Prendi la segnalazione di bug.
Cattura una segnalazione di bug da un dispositivo
Figura 2. Il rapporto di bug è pronto
Per ottenere un rapporto di bug direttamente dal tuo dispositivo, fai come segue:
- Assicurati di avere le Opzioni sviluppatore abilitate.
- In Opzioni sviluppatore, tocca Prendi rapporto di bug.
- Seleziona il tipo di rapporto di bug che vuoi e tocca Segnala.
Dopo un momento ottieni una notifica che il rapporto di bug è pronto (vedi figura 2).
- Per condividere il rapporto di bug, tocca la notifica.
Raccolta un rapporto di bug dall’emulatore Android
Dall’emulatore Android, puoi usare la funzione File a bug nei controlli estesi:
- Clicca su More nel pannello dell’emulatore.
-
Nella finestra dei controlli estesi, seleziona Bug report sulla sinistra.
Questo apre una schermata dove puoi vedere i dettagli del bug report come lo screenshot, le informazioni sulla configurazione AVD e il log del bug report. Puoi anche digitare un messaggio con i passi di riproduzione da salvare con la segnalazione.
-
Aspetta che la segnalazione di bug finisca di essere raccolta, e poi clicca su Save Report.
Raccolta di un rapporto di bug usando adb
Se hai un solo dispositivo collegato, puoi ottenere un rapporto di bug usandoadb
come segue:
$ adb bugreport E:\Reports\MyBugReports
Se non specifichi un percorso per il rapporto di bug, esso viene salvato nella directory locale.
Se hai più dispositivi collegati, devi specificare il dispositivo con l’opzione-s
. Esegui i seguenti comandi adb
per ottenere il numero di serie del dispositivo e generare il rapporto di bug.
$ adb devicesList of devices attachedemulator-5554 device8XV7N15C31003476 device$ adb -s 8XV7N15C31003476 bugreport
Esplora il file ZIP del rapporto di bug
Di default il file ZIP è chiamatobugreport-BUILD_ID-DATE.zip
e può contenere più file, ma il file più importante èbugreport-BUILD_ID-DATE.txt
. Questo è il rapporto di bug e contiene output diagnostico per i servizi di sistema (dumpsys
), log di errore (dumpstate
), e log dei messaggi di sistema (logcat
). I messaggi di sistema includono le tracce dello stack quando il dispositivo lancia un errore e i messaggi scritti da tutte le applicazioni con la classe Log
.
Il file ZIP contiene un file di metadati version.txt
che contiene la lettera di rilascio di Android, e quando systrace è abilitato, il file ZIP contiene anche un file systrace.txt
. Lo strumento Systrace aiuta ad analizzare le prestazioni della tua applicazione catturando e visualizzando i tempi di esecuzione dei processi della tua applicazione e di altri processi del sistema Android.
Lo strumento dumpstate
copia i file dal filesystem del dispositivo nel file ZIP sotto la cartella FS
in modo da potervi fare riferimento. Per esempio, un file /dirA/dirB/fileC
nel dispositivo genererebbe una voce FS/dirA/dirB/fileC
nel file ZIP.
Figura 3. Figura 3. Struttura del file di bug report
Per maggiori informazioni, vedi Leggere i bug report.
Ottieni i report dai tuoi utenti
Acquisire i bug report come descritto sopra è utile quando stai usando l’applicazione da solo, ma i tuoi utenti finali non possono condividere facilmente questi tipi di bug report con te. Per ottenere rapporti di crash con stack trace dagli utenti del mondo reale, dovresti approfittare delle funzioni di segnalazione di crash di Google Play e Firebase.
Google Play Console
Puoi ottenere rapporti da Google Play Console per visualizzare i dati di crash ed errori dell’applicazione che non risponde (ANR) dagli utenti che hanno installato la tua app da Google Play.I dati sono disponibili per i sei mesi precedenti.
Per maggiori informazioni, vediVisualizza crash &errori dell’applicazione che non risponde (ANR) nell’aiuto di Play Console.
Rapporto di crash di Firebase
Rapporto di Firebase Crashlytics crea rapporti dettagliati degli errori nella tua app.Gli errori sono raggruppati in problemi basati sull’avere stack trace simili, e triadati in base alla gravità dell’impatto sui tuoi utenti. Oltre ai report automatici, puoi registrare eventi personalizzati per aiutare a catturare i passi che portano a un crash.
Inizierai a ricevere report di crash da qualsiasi utente semplicemente aggiungendo le dipendenze di Firebase al tuo file build.gradle
. Per maggiori informazioni, vedi Firebase Crashlytics.