Segnala un bug

Segui i passaggi in questa pagina per completare una segnalazione di bug. Le risorse per la correzione dei bug sono limitate, pertanto i bug che contengono informazioni complete hanno la priorità. Le segnalazioni di bug incomplete vengono chiuse. Se ciò dovesse verificarsi, invia nuovamente il bug con informazioni aggiuntive.

Per avere la certezza di non segnalare un bug già risolto, assicurati di utilizzare le versioni più recenti degli strumenti. Puoi anche cercare problemi simili nel tracker dei problemi di Android Studio per vedere se il problema riscontrato è già stato segnalato.

Come segnalare un bug

Per segnalare un bug:

  1. Per aprire una segnalazione di bug da Android Studio, seleziona Guida > Invia feedback.

    Questo è il modo più semplice per avviare una segnalazione di bug, perché compila la segnalazione di bug 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.

  2. Allega un report diagnostico per consentirci di eseguire il debug del problema. Per generare un file ZIP del report di diagnostica, fai clic su Guida > Raccogli log e dati diagnostici.

  3. Descrivi i passaggi esatti per riprodurre il problema. Invia quante più 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.

  4. Descrivi il problema in modo dettagliato. Spiega il risultato che ti aspettavi e ciò che invece hai osservato.

  5. Scegli un titolo descrittivo per la segnalazione di bug. Un titolo più descrittivo semplifica l'ordinamento per problema.

Per alcuni bug abbiamo bisogno di informazioni aggiuntive, come descritto nelle sezioni seguenti:

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 thread dump come descritto in questa pagina e allegali alla segnalazione di bug. I thread dump mostrano cosa sta facendo l'IDE che lo rallenta.

Se l'IDE è lento ma non bloccato, allega il file idea.log alla segnalazione di bug. Per allegare il file, seleziona Guida > Raccogli log e dati diagnostici oppure Guida > Mostra file di accesso (Guida > Mostra Finder di accesso 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 CPU possono aiutarti a diagnosticare il problema.

Segui questi passaggi per acquisire un profilo CPU utilizzando il plug-in per i test delle prestazioni di Android Studio:

  1. Installa il plug-in.

    • In Android Studio, cerca "Test delle prestazioni" nel marketplace dei plug-in.
    • In alternativa, puoi scaricare una versione compatibile con Android Studio dal sito web dei plug-in.
  2. Crea il profilo CPU.

    1. Quando Android Studio sembra lento, scegli Inizia profilazione dell'utilizzo della CPU.
    2. Ripeti alcune azioni per le quali la latenza è problematica (completamento del codice, digitazione, attesa del completamento dell'evidenziazione e così via).
    3. Fai clic su Interrompi profilazione dell'utilizzo della CPU.
  3. Condividi il file del profilo.

    Viene visualizzato un fumetto che indica il nome file dello snapshot della CPU, nel formato snapshot-NNN. Condividi il file di snapshot nella segnalazione di bug.

Se l'IDE esaurisce la memoria

A volte i problemi di memoria in Android Studio sono difficili da riprodurre e segnalare. Per risolvere questo 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, procedi nel seguente modo:

  1. Fai clic su Guida > Analizza utilizzo memoria dalla barra dei menu.

    Android Studio scarica l'heap e ti chiede di riavviare l'IDE. Se riavvii l'IDE, l'analisi del dump dell'heap viene avviata immediatamente. In caso contrario, l'analisi dell'heap dump verrà avviata alla successiva esecuzione di Android Studio. In entrambi i casi, l'IDE ti avvisa quando il report sull'utilizzo della memoria è pronto per la revisione, come mostrato nella Figura 1.

    Notifica che indica che un report sull'utilizzo della memoria è pronto per essere esaminato
    Figura 1. Notifica Report sull'utilizzo della memoria.
  2. Fai clic su Esamina report.

    Prima di inviare la segnalazione, puoi esaminare le informazioni incluse:

    Un report sull'utilizzo della memoria.
    Figura 2. L'analisi del report sull'utilizzo della memoria.
  3. Dopo aver terminato la revisione, copia i contenuti della segnalazione in un file e allega il file quando segnali il bug.

    Inviando le informazioni della segnalazione in questo modo, il team di Android Studio può comunicare con te tramite lo strumento Issue Tracker mentre analizza i tuoi 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 che trovi selezionando Guida > Raccogli log e dati diagnostici o Guida > Mostra file di accesso (Guida > Mostra il Finder su macOS).

Genera un thread dump

Un thread dump è una stampa di tutti i thread in esecuzione nella JVM. Per ogni thread, è inclusa una stampa di tutti gli stackframe. In questo modo è facile capire cosa sta facendo l'IDE, soprattutto se generi un paio di thread dump a pochi secondi di distanza.

Quando segnali bug in cui l'IDE è estremamente occupato con una CPU bloccata o in cui l'IDE sembra essere bloccato, un thread dump può individuare quale codice sta lavorando molto o quali thread competono per le risorse e causano un deadlock.

Il JDK viene fornito con uno strumento denominato jstack che può essere utilizzato per generare un thread dump. Innanzitutto, trova l'ID processo (PID) del processo di Android Studio. Per farlo, utilizza il comando jps:

In Linux o macOS:

jps -mv | grep studio

Su Windows:

jps -mv | findstr studio

In questo modo viene stampata una lunga fila, 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) corrisponde all'ID processo.

A questo punto, genera un thread dump e salvalo in un file dump.txt:

jstack -l pid >> dump.txt

Se questa soluzione non funziona, esistono altri modi specifici della piattaforma per generare un thread dump. Per istruzioni dettagliate, consulta la pagina Assistenza IntelliJ.

Dettagli relativi a strumenti di creazione e bug Gradle

Per segnalare un bug relativo agli strumenti di creazione o a Gradle, allega un progetto reale o di esempio che dimostri il problema in modo da garantire che vengano acquisite tutte le informazioni necessarie. Rimuovi tutte le informazioni sensibili prima di condividere.

Se non puoi condividere un progetto, indica le versioni degli strumenti che stai utilizzando. Prova a utilizzare le versioni stabili o in anteprima più recenti prima di segnalare un bug. Per trovare le versioni dello strumento:

  • Versione plug-in Android per Gradle:

    1. Seleziona File > Struttura del progetto.
    2. Fai clic su Progetto.
    3. Individua la versione del plug-in Android Gradle.
  • Versione Gradle:

    1. Seleziona File > Struttura del progetto.
    2. Fai clic su Progetto.
    3. Individua Gradle Version.
  • Versione di Android Studio:

    1. Seleziona Guida > Informazioni.
    2. Individua Versione di Android Studio.

Inoltre, ove applicabile, includi le seguenti informazioni:

  • Se un comportamento è cambiato in modo imprevisto da una versione precedente a quella corrente, indica entrambe le versioni.
  • Se si è verificato un errore durante la build, eseguila dalla riga di comando con l'opzione --stacktrace (ad esempio ./gradlew <task> --stacktrace) e fornisci un'analisi dello stack nella segnalazione di bug.
  • Se la build richiede più tempo del previsto, prova una delle seguenti opzioni:
    • Esegui ./gradlew <task> --scan e condividi la scansione della build di Gradle generata nella segnalazione di bug.
    • Esegui ./gradlew <task> -Pandroid.enableProfileJson=true e condividi i file Chrome-trace generati nella directory <root-project>/build/android-profile.

Dettagli relativi ai bug dell'emulatore Android

Segui questi passaggi per utilizzare i controlli estesi dell'emulatore per raccogliere informazioni e segnalare un bug:

  1. Nel riquadro dell'emulatore, fai clic su Altro .
  2. Nella finestra Controlli estesi, seleziona Segnalazione di bug.

    Si apre una schermata con i dettagli della segnalazione di bug, come uno screenshot, le informazioni sulla configurazione AVD e un log per la segnalazione di bug. Puoi inserire i passaggi da riprodurre qui oppure attendere e inserirli nel report generato nel passaggio successivo.

  3. Attendi il completamento della raccolta della segnalazione di bug, quindi fai clic su Invia a Google.

    Si apre una finestra in cui puoi salvare la segnalazione di bug in una cartella. Il browser si apre anche per creare una segnalazione nell'Issue Tracker di Google contenente i dettagli dell'emulatore necessari.

  4. Nella segnalazione, completa tutti i dettagli rimanenti, 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 emulatore

    1. Nell'emulatore, apri Controlli estesi.
    2. Fai clic su Guida.
    3. Fai clic sulla scheda Informazioni per trovare la versione dell'emulatore.
  • Versione di Android SDK Tools

    1. Seleziona Strumenti > Gestore SDK.
    2. Fai clic su Strumenti SDK.
    3. Individua Android SDK Tools.
  • Modello CPU host

    • In Linux: apri /proc/cpuinfo.
    • Su Windows: fai clic con il pulsante destro del mouse su Computer locale e seleziona Proprietà.
    • Su macOS: seleziona l'icona Apple e fai clic su Informazioni su questo Mac
  • Nome del dispositivo

    1. In Gestione dispositivi AVD, fai clic per aprire il menu nella colonna Azioni per il dispositivo.
    2. Seleziona Visualizza dettagli (o apri il file $avdname.avd/config.ini).
    3. Trova la voce hw.device.name. Ad esempio: hw.device.name=Nexus 5.