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 Emulatore Android
o il comando adb bugreport
sulla macchina di sviluppo.
![](https://developer.android.google.cn/static/studio/images/run/dev-options-pixel_2x_cropped.png?authuser=8&hl=it)
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 bug.
Acquisire una segnalazione di bug da un dispositivo
![](https://developer.android.google.cn/static/studio/images/run/dev-options-take-bug-report_2x.png?authuser=8&hl=it)
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 Apri segnalazione bug.
- Seleziona il tipo di segnalazione di bug che ti interessa 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.
Acquisisci una segnalazione di bug dall'emulatore Android
Dall'emulatore 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.
Si apre una schermata in cui puoi vedere i dettagli della segnalazione di bug, ad esempio lo screenshot, le informazioni sulla configurazione AVD e il log della segnalazione di bug. Puoi anche digitare un messaggio con i passaggi di riproduzione da salvare insieme al report.
Attendi il completamento della raccolta della segnalazione di bug, quindi 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 connesso più dispositivi, devi specificare il dispositivo tramite l'opzione -s
. Esegui i seguenti comandi adb
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
Salvare 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
. Questo è il report di bug, che contiene l'output della diagnostica 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 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 della tua 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 della cartella FS
per consentirti di farvi riferimento. Ad esempio, un file /dirA/dirB/fileC
nel dispositivo genererà 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
La creazione di segnalazioni di bug è utile quando utilizzi l'app autonomamente, ma gli utenti finali non possono condividere facilmente questo tipo di segnalazioni di bug con te. Per generare report sugli arresti anomali con analisi dello stack da utenti reali, sfrutta le funzionalità di reporting degli arresti anomali di Google Play e Firebase.
Google Play Console
Puoi ricevere report da Google Play Console per visualizzare i dati sugli errori relativi ad applicazioni che non rispondono (ANR) e ad arresti anomali degli utenti che hanno installato la tua app da Google Play. Sono disponibili i dati degli ultimi sei mesi.
Per maggiori informazioni, consulta la pagina Visualizzare gli errori relativi ad applicazioni che non rispondono (ANR) e arresti anomali nella guida di Play Console.
Firebase sugli arresti anomali
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 classificati 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.