Acquisisci e leggi le segnalazioni di bug

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.

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

Figura 2. La segnalazione di bug è pronta.

Per ricevere una segnalazione di bug direttamente dal tuo dispositivo:

  1. Abilita le Opzioni sviluppatore.
  2. In Opzioni sviluppatore, tocca Apri segnalazione bug.
  3. 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.

  4. 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:

  1. Fai clic su Altro nel riquadro Emulatore.
  2. 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.

  3. 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.