Una segnalazione di bug contiene log del dispositivo, analisi dello stack e altre informazioni diagnostiche per aiutarti a trovare e correggere i bug nella tua app. Per acquisire una segnalazione di bug dal tuo dispositivo, usa l'opzione per sviluppatori Crea segnalazione di bug sul dispositivo, il menu dell'emulatore Android o il comando adb bugreport
sulla macchina di sviluppo.

Figura 1. Opzioni sviluppatore su un dispositivo.
Per creare una segnalazione di bug, devi attivare le Opzioni sviluppatore sul dispositivo per accedere all'opzione Crea segnalazione di bug.
Acquisire una segnalazione di bug da un dispositivo

Figura 2. La segnalazione di bug è pronta.
Per ricevere una segnalazione di bug direttamente dal tuo dispositivo:
- Abilita le Opzioni sviluppatore.
- In Opzioni sviluppatore, tocca Crea segnalazione di bug.
- Seleziona il tipo di segnalazione di bug che vuoi e tocca Segnala.
Dopo qualche istante, riceverai una notifica che ti informa che la segnalazione di bug è pronta, come mostrato nella Figura 2.
- Per condividere la segnalazione di bug, tocca la notifica.
Acquisire una segnalazione di bug dall'emulatore Android
Dall'emulatore di Android, puoi utilizzare la funzionalità Segnala un bug nei controlli estesi:
- Fai clic su Altro
nel riquadro Emulatore.
Nella finestra Controlli estesi, seleziona Segnalazione di bug.
Viene visualizzata una schermata in cui puoi vedere i dettagli della segnalazione di bug, ad esempio lo screenshot, le informazioni di configurazione della durata di visualizzazione media e il log della segnalazione di bug. Puoi anche digitare un messaggio con i passaggi di riproduzione per salvarlo insieme al report.
Attendi il completamento della raccolta della segnalazione di bug, poi fai clic su Salva segnalazione.
Acquisisci una segnalazione di bug utilizzando adb
Se hai collegato un solo dispositivo, puoi ricevere una segnalazione di bug utilizzando adb
, come indicato di seguito:
$ adb bugreport E:\Reports\MyBugReports
Se non specifichi un percorso per la segnalazione di bug, questa viene salvata nella directory locale.
Se hai più dispositivi connessi, devi specificare il dispositivo tramite l'opzione -s
. Esegui i comandi adb
seguenti per ottenere il numero di serie del dispositivo e generare la segnalazione di bug:
$ adb devices List of devices attached emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport
Salva una segnalazione di bug precedente
Per impostazione predefinita, le segnalazioni di bug vengono salvate all'indirizzo /bugreports
e possono essere visualizzate utilizzando il seguente comando:
$ adb shell ls /bugreports/ bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS-dumpstate_log-yyy.txt bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip dumpstate-stats.txt
Puoi quindi estrarre il file ZIP tramite adb pull
:
$ adb pull /bugreports/bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip
Esamina il file ZIP della segnalazione di bug
Per impostazione predefinita, il file ZIP è denominato bugreport-BUILD_ID-DATE.zip
. Il file ZIP può contenere più file, ma il file più importante è bugreport-BUILD_ID-DATE.txt
. Questa è la segnalazione di bug, che contiene gli output diagnostici per i servizi di sistema (dumpsys
), i log degli errori (dumpstate
) e i log dei messaggi di sistema (logcat
). I messaggi di sistema includono analisi dello stack quando il dispositivo genera un errore e i messaggi scritti da tutte le app con la classe Log
.
Il file ZIP contiene un file di metadati version.txt
che contiene la lettera di rilascio di Android. Quando systrace è abilitato, il file ZIP contiene anche un file systrace.txt
. Lo strumento Systrace aiuta ad analizzare le prestazioni dell'app acquisendo e visualizzando i tempi di esecuzione dei processi dell'app e di altri processi di sistema Android.
Lo strumento dumpstate
copia i file dal file system del dispositivo nel file ZIP che si trova nella cartella FS
in modo da potervi fare riferimento. Ad esempio,
un file /dirA/dirB/fileC
nel dispositivo genera una voce
FS/dirA/dirB/fileC
nel file ZIP.
Figura 3. La struttura del file della segnalazione di bug.
Per ulteriori informazioni, consulta la sezione Lettura delle segnalazioni di bug.
Ricevi report dagli utenti
L'acquisizione di segnalazioni di bug è utile quando utilizzi l'app autonomamente, ma gli utenti finali non possono condividere facilmente questi tipi di segnalazioni di bug con te. Per ottenere report sugli arresti anomali con analisi dello stack di utenti reali, sfrutta le funzionalità di Crash Reporting di Google Play e Firebase.
Google Play Console
Puoi ricevere report da Google Play Console per visualizzare i dati relativi agli errori di applicazioni che non rispondono (ANR) e ad arresti anomali degli utenti che hanno installato la tua app da Google Play. Sono disponibili i dati relativi ai sei mesi precedenti.
Per ulteriori informazioni, consulta la pagina Visualizzare gli errori relativi ad applicazioni che non rispondono (ANR) e arresti anomali nella guida di Play Console.
Firebase Crash Reporting
I report di Firebase Crashlytics creano report dettagliati sugli errori nella tua app. Gli errori vengono raggruppati in problemi in base ad analisi dello stack simili e suddivisi in base alla gravità dell'impatto sugli utenti. Oltre ai report automatici, puoi registrare eventi personalizzati per acquisire i passaggi che hanno portato a un arresto anomalo.
Per iniziare a ricevere report sugli arresti anomali da qualsiasi utente, aggiungi le dipendenze di Firebase al file build.gradle
. Per ulteriori informazioni, consulta Firebase Crashlytics.