Segui i passaggi in questa pagina per compilare una segnalazione di bug. Le risorse per correggere i bug sono limitate, pertanto vengono dati la priorità ai bug per i quali sono disponibili informazioni complete. Le segnalazioni di bug incomplete vengono chiuse. In questo caso, invia di nuovo il bug con ulteriori informazioni.
Per assicurarti di non segnalare un bug già corretto, assicurati di utilizzare le versioni più recenti degli strumenti. Puoi anche cercare problemi simili nello Issue Tracker di Android Studio per verificare se il problema che stai riscontrando è già stato segnalato.
Come segnalare un bug
Per segnalare un bug:
Per aprire una segnalazione di bug da Android Studio, seleziona Guida > Invia una segnalazione di bug.
Questo è il modo più semplice per segnalare un bug, perché compila il report con la versione di Android Studio, la versione di Kotlin o Java e le informazioni di sistema necessarie per riprodurre correttamente il problema.
Puoi anche segnalare il bug qui e aggiungere autonomamente le informazioni sulla versione.
Allega un report diagnostico per consentirci di eseguire il debug del problema. Per generare un file ZIP del report diagnostico, fai clic su Guida > Raccogli log e dati di diagnostica.
Descrivi i passaggi esatti per riprodurre il problema. Invia il maggior numero di informazioni possibile, inclusi snippet di codice, un progetto GitHub che può essere utilizzato per riprodurre il bug e screenshot o registrazioni di ciò che stai osservando.
Descrivi il problema in modo dettagliato. Spiega il risultato che ti aspettavi e cosa hai osservato.
Scegli un titolo descrittivo per la segnalazione di bug. L'utilizzo di un titolo più descrittivo semplifica l'ordinamento in base al problema.
Per alcuni bug, abbiamo bisogno di informazioni aggiuntive, come descritto nelle seguenti sezioni:
- Dettagli sui bug di Android Studio
- Dettagli per gli strumenti di compilazione e i bug di Gradle
- Dettagli sui bug dell'emulatore Android
Dettagli relativi ai bug di Android Studio
Per segnalare bug specifici di Android Studio, includi informazioni aggiuntive come descritto in questa sezione.
Se l'IDE si blocca
Se l'IDE stesso sembra molto lento o completamente bloccato, genera un paio di dump thread come descritto in questa pagina e allegali al report del bug. I dump dei thread mostrano cosa sta facendo IDE e cosa lo sta rallentando.
Se l'IDE è lento, ma non bloccato, allega il file idea.log
al report di bug. Per allegare il file, seleziona Guida > Raccogli log e dati di diagnostica o Guida > Mostra log nei file (Guida > Mostra log nel Finder su macOS).
Questo file mostra se l'IDE genera errori nel log.
Utilizzare i profili CPU per diagnosticare la lentezza
Se riscontri lentezza in Android Studio, a volte i profili della CPU possono aiutarti a diagnosticare il problema.
Per acquisire un profilo della CPU utilizzando il plug-in di Android Studio per i test di prestazioni:
Installa il plug-in.
- In Android Studio, cerca "Test di prestazioni" nel marketplace dei plug-in.
- In alternativa, puoi scaricare una versione compatibile con Android Studio dal sito web del plug-in.
Crea il profilo della CPU.
- Quando Android Studio sembra essere lento, scegli Avvia il profiling dell'utilizzo della CPU.
- Ripeti alcune azioni per le quali la latenza è problematica (completamento del codice, digitazione e attesa dell'aggiornamento dell'evidenziazione e così via).
- Fai clic su Interrompi la profilazione dell'utilizzo della CPU.
Condividere il file del profilo.
Viene visualizzato un riquadro contenente il nome del file dello snapshot della CPU, che segue il formato
snapshot-NNN
. Condividi il file dell'istantanea nel report del bug.
Se l'IDE esaurisce la memoria
A volte i problemi di memoria in Android Studio sono difficili da riprodurre e segnalare. Per aiutarti a risolvere il problema, Android Studio include un report sull'utilizzo della memoria che puoi inviare al team di Android Studio per identificare l'origine dei problemi di memoria.
Eseguire un report sull'utilizzo della memoria
Per eseguire un report sull'utilizzo della memoria:
Fai clic su Guida > Analizza l'utilizzo della memoria nella barra dei menu.
Android Studio esegue il dump dell'heap e ti chiede di riavviare l'IDE. Se riavvii l'IDE, l'analisi del dump dell'heap inizia immediatamente. In caso contrario, l'analisi del dump dell'heap viene avviata alla successiva esecuzione di Android Studio. In entrambi i casi, l'IDE ti invia una notifica quando il report sull'utilizzo della memoria è pronto per la revisione, come mostrato nella figura 1.
Figura 1. Memoria Utilizza la notifica di segnalazione. Fai clic su Esamina recensione.
Prima di inviare il report, puoi esaminare le informazioni incluse:
Figura 2. L'analisi del report Utilizzo della memoria .Al termine della revisione, copia i contenuti del report in un file e allegalo quando registri il bug.
Inviando le informazioni del report in questo modo, il team di Android Studio può comunicare con te utilizzando il tracker dei problemi durante l'esame dei problemi di memoria.
Se l'IDE si arresta in modo anomalo o genera eccezioni
Per altri tipi di arresti anomali, allega il file idea.log
trovato selezionando
Guida > Raccogli log e dati di diagnostica o Guida > Mostra log in File
(Guida > Mostra log nel Finder su macOS).
Generare un dump del thread
Un dump del thread è una stampa di tutti i thread in esecuzione nella JVM. Per ogni thread, include una stampa di tutti gli stackframe. In questo modo è facile vedere cosa sta facendo l'IDE, soprattutto se generi un paio di dump thread a pochi secondi di distanza.
Quando segnali bug in cui l'IDE è estremamente occupato con una CPU bloccata o sembra essersi bloccato, un dump del thread può individuare il codice che esegue molto lavoro o i thread che competono per le risorse e causano un deadlock.
Il JDK viene fornito con uno strumento denominato jstack
che può essere utilizzato per generare un dump del thread. Innanzitutto, individua l'ID processo (PID) del processo Android Studio.
Per farlo, utilizza il comando jps
:
Su Linux o macOS:
jps -mv | grep studio
Su Windows:
jps -mv | findstr studio
Viene stampata una riga lunga, ad esempio:
$ jps -mv | grep studio
37605 -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true ...
Il primo numero (37605, in questo esempio) è l'ID processo.
Quindi, genera un dump del thread e salvalo in un file dump.txt
:
jstack -l pid >> dump.txt
Se il problema persiste, esistono altri modi specifici per la piattaforma per generare un dump del thread. Per istruzioni dettagliate, consulta IntelliJ Support.
Dettagli per gli strumenti di compilazione e i bug di Gradle
Per segnalare un bug per gli strumenti di compilazione o Gradle, allega un progetto reale o di esempio che dimostri il problema per assicurarti che tutte le informazioni necessarie vengano acquisite. Rimuovi le informazioni sensibili prima di condividerle.
Se non riesci a condividere un progetto, indica le versioni degli strumenti che stai utilizzando. Prova a utilizzare le ultime versioni stabili o di anteprima prima di segnalare un bug. Per trovare le versioni degli strumenti:
Versione del plug-in Android per Gradle:
- Seleziona File > Struttura del progetto.
- Fai clic su Progetto.
- Individua Versione plug-in Android per Gradle.
Versione Gradle:
- Seleziona File > Struttura del progetto.
- Fai clic su Progetto.
- Individua Versione Gradle.
Versione di Android Studio:
- Seleziona Guida > Informazioni.
- Individua Versione Android Studio.
Inoltre, includi le seguenti informazioni, se applicabili:
- Se un comportamento è cambiato in modo imprevisto da una versione precedente alla versione corrente, indica entrambe le versioni.
- Se la compilazione non è riuscita a causa di un errore, eseguila dalla riga di comando con l'opzione
--stacktrace
(ad esempio./gradlew <task> --stacktrace
) e fornisci una traccia dello stack nella segnalazione di bug. - Se la compilazione richiede più tempo del previsto, prova una delle seguenti operazioni:
- Esegui
./gradlew <task> --scan
e condividi la scansione della compilazione di Gradle generata nel report del bug. - Esegui
./gradlew <task> -Pandroid.enableProfileJson=true
e condividi i file Chrome-trace generati nella directory<root-project>/build/android-profile
.
- Esegui
Dettagli per i bug dell'emulatore Android
Per utilizzare i controlli estesi dell'emulatore per raccogliere informazioni e segnalare un bug:
- Nel riquadro dell'emulatore, fai clic su Altro
.
Nella finestra Controlli avanzati, seleziona Segnalazione di bug.
Si apre una schermata con i dettagli della segnalazione di bug, ad esempio uno screenshot, le informazioni di configurazione dell'AVD e un log della segnalazione di bug. Puoi inserire i passaggi per la riproduzione qui o attendere e inserirli nel report generato nel passaggio successivo.
Attendi il completamento della raccolta della segnalazione di bug, quindi fai clic su Invia a Google.
Viene visualizzata una finestra per consentirti di salvare la segnalazione di bug in una cartella. Si apre inoltre il browser per creare un report nel tracker dei problemi di Google con i dettagli necessari dell'emulatore compilati.
Nel report, completa i dettagli mancanti, ad esempio i passaggi per riprodurre il bug, e allega i file salvati quando hai creato la segnalazione di bug.
In caso contrario, inserisci manualmente i seguenti dettagli:
Versione dell'emulatore
- Nell'emulatore, apri i Controlli avanzati.
- Fai clic su Guida.
- Fai clic sulla scheda Informazioni per trovare la versione dell'emulatore.
Versione di Android SDK Tools
- Seleziona Strumenti > Gestore SDK.
- Fai clic su Strumenti SDK.
- Individua Strumenti SDK Android.
Modello CPU host
- Su Linux: apri
/proc/cpuinfo
. - Su Windows: fai clic con il tasto destro del mouse su Il mio computer e seleziona Proprietà.
- Su macOS: seleziona l'icona Apple e fai clic su Informazioni su questo Mac.
- Su Linux: apri
Nome del dispositivo
- In Gestione AVD, fai clic per aprire il menu nella colonna Azioni per il dispositivo.
- Seleziona Visualizza dettagli (o
apri il file
$avdname.avd/config.ini
). - Trova la voce per hw.device.name. Ad esempio:
hw.device.name=Nexus 5
.