Risolvere i problemi noti relativi all'emulatore Android

In questa pagina sono elencati i problemi noti, le soluzioni alternative e i suggerimenti per la risoluzione dei problemi relativi all'emulatore Android. Se riscontri un problema non elencato qui o non riesci a utilizzare una soluzione alternativa elencata qui, segnala un bug.

Verifica di avere spazio su disco sufficiente

Per evitare arresti anomali e blocchi dovuti alla mancanza di spazio libero su disco, l'emulatore controlla se è disponibile spazio libero su disco sufficiente all'avvio e non si avvia, a meno che non siano disponibili almeno 2 GB. Se l'emulatore non si avvia, verifica di avere spazio libero sufficiente.

Software antivirus

Poiché molti pacchetti software per la sicurezza e le soluzioni antivirus funzionano mediante il monitoraggio di ogni operazione di lettura e scrittura, l'utilizzo di questo software può ridurre le prestazioni di strumenti come Android Emulator.

Molti pacchetti antivirus consentono di aggiungere applicazioni specifiche a un elenco di applicazioni attendibili, consentendo così alle applicazioni elencate di funzionare senza peggiorare le prestazioni. Se riscontri prestazioni scadenti durante il salvataggio o il caricamento di istantanee AVD, potresti migliorare queste prestazioni aggiungendo l'applicazione Android Emulator come applicazione attendibile nel software antivirus.

L'impatto sulle prestazioni varia a seconda dei pacchetti software antivirus. Se hai installato altri software antivirus oltre a quelli inclusi nel tuo sistema operativo, puoi eseguire dei semplici test per stabilire quale software antivirus ha un impatto maggiore sulle prestazioni in termini di carico dell'emulatore e salva le operazioni.

Alcuni software antivirus potrebbero non essere compatibili con l'emulatore Android.

Se utilizzi il software Avast e hai difficoltà a eseguire l'emulatore Android, disattiva Usa virtualizzazione nidificata quando disponibile e Abilita virtualizzazione assistita hardware nelle impostazioni Risoluzione dei problemi di Avast. Inoltre, dopo aver disabilitato la virtualizzazione hardware Avast, assicurati che HAXM sia di nuovo configurato correttamente con una reinstallazione completa dell'ultima versione di HAXM da SDK Manager.

Su Windows, a volte l'AVD si blocca con HAXM e il problema può essere risolto disinstallando completamente McAfee.

Impossibile avviare AVD

Un AVD potrebbe non avviarsi se è presente un report sugli arresti anomali per un emulatore più recente (problema n. 281725854). Questo problema si verifica solo per gli utenti che eseguono l'aggiornamento dalla versione canary dalla versione 33.x alla 32.1.13, hanno subito un arresto anomalo l'ultima volta che hanno eseguito la versione 33.x e non hanno riavviato il dispositivo di visualizzazione dei dispositivi da allora, pertanto la directory %TEMP% o /tmp è ancora attiva. Se riscontri questo problema, prova a cancellare la directory %TEMP% (/tmp su Linux o macOS).

HAXM su versioni non supportate di macOS

Se utilizzi l'emulatore di Android su versioni precedenti e non supportate di macOS, come 10.9, potrebbe essere necessario utilizzare anche una versione precedente di HAXM (6.1.2).

L'emulatore Android funziona lentamente dopo un aggiornamento

Una serie di fattori esterni può causare l'avvio lento dell'emulatore Android dopo un aggiornamento. Per iniziare la risoluzione dei problemi, ti consigliamo di seguire questi passaggi:

  • Se disponi di una GPU Intel (e in particolare l'Intel HD 4000), assicurati di aver scaricato e installato il driver di grafica Intel più recente.
  • Se la tua macchina ha sia una GPU Intel HD 4000 che una GPU discreta, disabilita la GPU Intel HD 4000 in Gestione dispositivi per assicurarti di utilizzare la GPU discreta.
  • Esegui l'emulatore utilizzando le modalità -gpu angle, -gpu swiftshader o -gpu guest. Per ulteriori informazioni sulla configurazione delle opzioni di accelerazione grafica nella riga di comando, consulta Configurare l'accelerazione hardware.
  • Assicurati che il router non utilizzi indirizzi IPv6 se non hai una connessione IPv6.

Se i problemi di esecuzione dell'emulatore Android persistono, segnala un bug e includi i dettagli necessari dell'emulatore Android per consentirci di effettuare accertamenti.

Windows: RAM senza costi e addebito per commit

All'avvio, l'emulatore deve inizializzare la RAM del sistema operativo guest Android. Su Windows, l'emulatore richiede che Windows tenga conto delle dimensioni complete della memoria ospite all'avvio, anche se durante il funzionamento effettivo la memoria può essere impaginata on demand. L'emulatore richiede l'intera quantità di memoria ospite all'avvio, perché Windows è conservativo per garantire che la RAM fisica e il file di paging siano sufficienti per contenere l'intero set di lavoro potenziale. Questa richiesta si prepara al caso peggiore, in cui tutta la memoria degli ospiti viene toccata rapidamente senza la possibilità di eliminare o liberare in altro modo la memoria.

A volte, quando l'emulatore chiede a Windows di tenere conto di questa dimensione completa della memoria ospite, la richiesta supera l'attuale limite di commit, ovvero il totale della RAM fisica e del file di paging disponibili. In questo caso, Windows non può garantire che il set di lavoro nel peggiore dei casi rientri nella RAM fisica o nel file di paging e che l'emulatore non si avvii.

In casi tipici, la quantità di spazio sul disco rigido allocata per il file di paging più la RAM fisica è più che sufficiente per la maggior parte dei casi d'uso dell'emulatore. Tuttavia, se si verificano errori nell'avvio dell'emulatore a causa del superamento del limite di commit, ti consigliamo di esaminare l'addebito attuale per l'impegno, che può essere visualizzato nella scheda Prestazioni del Task Manager di Windows. Per aprire Task Manager, premi Ctrl+Maiusc+Esc.

Per ridurre la probabilità di superare il limite di commit in vari modi:

  • RAM fisica libera prima di avviare l'emulatore chiudendo applicazioni e file inutilizzati.
  • Disabilita le utilità di gestione della memoria e di compressione della memoria di terze parti. Queste utilità possono causare in modo inefficiente un addebito per il commit in eccesso e avvicinare il sistema al limite di commit.
  • Utilizza una dimensione gestita dal sistema per il file di pagina di Windows, che può aumentare in modo più flessibile e dinamico le dimensioni del file di paging e, di conseguenza, il limite di commit, in risposta all'aumento della domanda da parte dell'emulatore e di altre applicazioni.

    Per ulteriori informazioni sugli addebiti per l'impegno e sul motivo per cui funziona meglio un'impostazione flessibile, leggi questo articolo di Microsoft.

La funzionalità Multi-touch non funziona nella finestra degli strumenti

I gesti multi-touch, inclusa la panoramica con due dita, non funzionano quando l'emulatore è in esecuzione nella finestra di uno strumento. Per attivare la funzionalità multi-touch, avvia l'emulatore in un'altra finestra.

L'emulatore riduce l'output audio Bluetooth

Se utilizzi cuffie Bluetooth, potresti notare che l'uscita audio per cuffie Bluetooth si riduce quando è in esecuzione l'emulatore (problema 183139207). Questo accade perché, all'avvio dell'emulatore, viene attivato il microfono delle cuffie e, in questo modo, le cuffie passano alla modalità duplex con qualità inferiore.

Per evitare questo problema, disattiva il microfono nell'emulatore aggiungendo hw.audioInput=no al file config.ini del dispositivo virtuale Android (AVD). Per trovare il file config.ini di un AVD, aprilo in Gestione dispositivi, fai clic sul menu extra e seleziona Mostra su disco.

Windows: l'emulatore non viene avviato se è presente Unicode nel nome dell'AVD

Su Windows, quando Gestione dispositivi crea un dispositivo virtuale Android (AVD), per impostazione predefinita viene creata la durata di visualizzazione media (AVD) alle ore C:\Users\<name>\.android\avd. Tuttavia, se il nome dell'AVD (<name>) ha Unicode, l'emulatore non riesce ad avviare correttamente l'AVD utilizzando la posizione predefinita.

Questo problema è stato risolto in Emulator 31.3.6 e versioni successive. Per risolvere il problema, aggiorna l'emulatore selezionando Strumenti > SDK Manager.

In alternativa, per risolvere il problema, imposta la variabile di ambiente ANDROID_SDK_HOME su una directory personalizzata prima di creare una durata di visualizzazione media. Ad esempio, crea la directory C:\Android\home, quindi imposta ANDROID_SDK_HOME su questa directory appena creata. Per scoprire di più, consulta Variabili di ambiente.

Finestra dell'emulatore incorporata troppo piccola

Sui computer con risoluzione inferiore, ad esempio 1024 x 768, può essere difficile leggere la schermata dell'emulatore quando viene eseguita nella finestra degli strumenti di Android Studio. Per concedere più spazio all'emulatore, chiudi la finestra dello strumento Gestione dispositivi se è aperta. Puoi anche estrarre la finestra dell'emulatore da Android Studio. Per farlo, nella finestra dell'emulatore, fai clic su Impostazioni > Modalità di visualizzazione e seleziona Finestra anziché Bloccato sul dock.

Errore: impossibile trovare vulkan-1.dll

Se l'emulatore non si avvia a causa dell'errore vulkan-1.dll cannot be found, probabilmente devi aggiornarlo. Per aggiornare l'emulatore in Android Studio, vai a Strumenti > SDK Manager e installa l'ultima versione stabile della piattaforma Android.

In alternativa, se non ti servono app che usano la libreria grafica Vulkan, disattiva Vulkan avviando l'emulatore dalla riga di comando con il flag -feature -Vulkan.

Nessuna connessione a internet: impossibile trovare l'indirizzo DNS del server

Se l'emulatore non riesce a connettersi a internet, prova ad avviare l'emulatore dalla riga di comando utilizzando l'opzione -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4”. Questo comando fornisce un elenco separato da virgole di indirizzi IP Google Public DNS. Per ulteriori informazioni su Google Public DNS, consulta Google Public DNS per i tuoi dispositivi.

Nessuna connessione a internet: problemi di risoluzione DNS

A volte gli indirizzi DNS nel file /etc/resolv.conf non funzionano correttamente. Puoi risolvere il problema avviando l'emulatore dalla riga di comando utilizzando l'opzione -dns-server 8.8.8.8 o -dns.server 2001:4860:4860::8888 per connetterti su una rete solo IPv6.

Impossibile creare uno snapshot

La creazione di un'istantanea dell'emulatore che includa la libreria di immagini Vulkan non è supportata. Per eseguire l'emulatore senza Vulkan, avvia l'emulatore dalla riga di comando con il flag -feature -Vulkan. In alternativa, puoi disinstallare ed evitare di utilizzare app con Vulkan, come Chrome nell'API 30 o versioni successive, se vuoi utilizzare gli snapshot come parte del flusso di lavoro di sviluppo.

Impossibile aprire correttamente la pagina web

A partire dal livello API 30, Chrome utilizza la libreria grafica Vulkan come backend di rendering e potrebbe avere problemi di compatibilità su alcune macchine. Se Chrome non esegue il rendering corretto, prova ad avviare l'emulatore dalla riga di comando con il flag -feature -Vulkan.

L'hypervisor Intel HAXM non supporta completamente le CPU pre-Intel iX

Se il tuo computer ha una CPU Intel iX pre-Intel e l'hypervisor Intel HAXM, potresti riscontrare problemi di prestazioni con l'emulatore. Questo perché l'emulatore non è in grado di utilizzare l'accelerazione hardware per migliorare le prestazioni su queste macchine meno recenti. Se utilizzi una CPU pre-Intel iX, potresti avere un'esperienza di test migliore se usi un dispositivo fisico anziché l'emulatore.

Gli hypervisor non possono emulare determinate funzionalità della CPU richieste dai sistemi Android x86

In genere gli hypervisor non possono emulare determinate funzionalità della CPU, come le Streaming SIMD Extensions (SSE), richieste dai sistemi Android x86.

Impossibile avviare i dispositivi virtuali Android su ChromeOS

Su ChromeOS, l'avvio dei dispositivi virtuali (AVD) Android potrebbe non riuscire perché manca la dipendenza libnss3. Per avviare correttamente gli AVD, esegui sudo apt install libnss3 in modo da installare manualmente la libreria libnss3.

Avviso sul driver GPU: caduta di nuovo del software su Intel HD4000

Se ricevi un avviso relativo al fallimento del driver GPU, prova a cambiare la configurazione GPU in hardware. Per impostazione predefinita utilizza la modalità automatica, che potrebbe scegliere il rendering software. Se scegli l'hardware, dovresti poter forzare l'utilizzo del rendering hardware (potrebbe comunque apparire un messaggio di avviso).

Per le immagini non provenienti dal Play Store, accedi a Gestione dispositivi -> 3 puntini -> Modifica. Per le immagini del Play Store, devi modificare manualmente i due file di configurazione:

~/.android/tuo_nome_avd.avd/config.ini

~/.android/tuo_nome_avd.avd/hardware-qemu.ini

e cambia hw.gpu.mode in host

Consulta bug per ulteriori dettagli.

L'emulatore non si avvia su Chrome Remote Desktop di Windows

Se Emulator non si avvia durante l'utilizzo di Chrome Remote Desktop su Windows, l'attuale soluzione alternativa consigliata è usare un flag GPU come -gpu host o -gpu swiftshader.