Risolvere i problemi noti relativi all'emulatore Android

In questa pagina vengono 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 che lo spazio su disco sia sufficiente

Per evitare arresti anomali e blocchi dovuti alla mancanza di spazio libero su disco, l'emulatore verifica se è presente spazio libero 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 sufficiente spazio libero su disco.

Software antivirus

Poiché molti pacchetti software di sicurezza e 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 peggioramento delle prestazioni. Se riscontri scarse prestazioni durante il salvataggio o il caricamento delle 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 un altro software antivirus oltre a quello incluso nel tuo sistema operativo, puoi eseguire dei semplici test per stabilire quale software antivirus ha un impatto maggiore sulle prestazioni sul caricamento dell'emulatore e sul salvataggio delle operazioni.

Alcuni software antivirus potrebbero non essere compatibili con Android Emulator.

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 la disattivazione della virtualizzazione hardware di Avast, assicurati che HAXM sia configurato di nuovo correttamente con una reinstallazione completa dell'ultima versione di HAXM da SDK Manager.

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

Impossibile avviare AVD

Una AVD potrebbe non avviarsi se esiste 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 33.x alla 32.1.13, hanno riscontrato un arresto anomalo l'ultima volta che hanno eseguito la versione 33.x e da allora non hanno riavviato il tempo di visualizzazione (AVD), pertanto la directory %TEMP% o /tmp è ancora attiva. Se riscontri questo problema, prova a cancellare la directory %TEMP% (/tmp su Linux o macOS).

HAXM sulle versioni non supportate di macOS

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

Android Emulator è lento dopo un aggiornamento

L'avvio dell'emulatore Android dopo un aggiornamento potrebbe essere lento a causa di una serie di fattori esterni. Per iniziare la risoluzione dei problemi, ti consigliamo di procedere nel seguente modo:

  • Se disponi di una GPU Intel (e in particolare, Intel HD 4000), assicurati di aver scaricato e installato il driver di grafica Intel più recente.
  • Se la tua macchina dispone sia di una GPU Intel HD 4000 che di 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.
  • Se non hai una connessione IPv6, assicurati che il router non utilizzi indirizzi IPv6.

Se continui a riscontrare problemi di lentezza con l'emulatore Android, segnala un bug e includi i dettagli necessari per l'emulatore Android per consentirci di effettuare accertamenti.

Windows: RAM senza costi e addebito del 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 totali della memoria guest 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 nel garantire che la RAM fisica e il file di paging siano sufficienti per contenere l'intero potenziale set di lavoro. Questa richiesta prepara al peggiore dei casi, 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, che corrisponde al 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 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 per il commit, ti consigliamo di esaminare l'addebito per il commit attuale, visibile 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 le applicazioni e i file inutilizzati.
  • Disattiva le utilità di gestione della memoria e di compressione della memoria di terze parti. Queste utilità possono causare in modo inefficiente un addebito in eccesso per il commit e avvicinare il sistema al limite del commit.
  • Utilizza una dimensione gestita dal sistema per il file di paging 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 il commit e sul motivo per cui un'impostazione flessibile funziona meglio, 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 il multi-touch, avvia l'emulatore in una finestra separata.

L'emulatore riduce l'output audio Bluetooth

Se usi le cuffie Bluetooth, potresti notare che l'uscita audio delle cuffie Bluetooth si deteriora quando è in esecuzione l'emulatore (problema 183139207). Questo accade perché, quando viene avviato, l'emulatore attiva il microfono delle cuffie e, di conseguenza, 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 un file config.ini di AVD, accedi alla durata di visualizzazione in Gestione dispositivi, fai clic sul menu extra e seleziona Mostra su disco.

Windows: l'emulatore non si avvia se il nome dell'AVD contiene Unicode

Su Windows, quando Gestione dispositivi crea un dispositivo virtuale Android (AVD), per impostazione predefinita, viene creata la durata di visualizzazione media (AVD) all'indirizzo C:\Users\<name>\.android\avd. Tuttavia, se il nome della durata di visualizzazione media (<name>) ha Unicode, l'emulatore non può avviarla correttamente utilizzando questa 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 questo 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é Bloccata sul dock.

Errore: vulkan-1.dll non trovato

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 > Gestore SDK 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.

Internet non disponibile: 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 DNS pubblici di Google. Per ulteriori informazioni su Google Public DNS, vedi 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 uno snapshot dell'emulatore che include 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, se vuoi utilizzare gli snapshot nell'ambito del flusso di lavoro di sviluppo, puoi disinstallare ed evitare di utilizzare app con Vulkan, ad esempio Chrome con API 30 o versioni successive.

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 viene visualizzato correttamente, 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. Il motivo è che 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 alcune funzionalità della CPU, come le estensioni SIMD per lo streaming, richieste dai sistemi Android x86.

Impossibile avviare i dispositivi virtuali Android su ChromeOS

Su ChromeOS, l'avvio dei dispositivi virtuali Android (AVD) potrebbe non riuscire perché manca la dipendenza libnss3. Per avviare correttamente la durata di visualizzazione dei contenuti, esegui sudo apt install libnss3 per installare manualmente la libreria libnss3.

Avviso del driver GPU: restituzione del software su Intel HD4000

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

Per le immagini che non riguardano il Play Store, puoi farlo in Gestione dispositivi -> 3 puntini -> Modifica. Per le immagini del Play Store, devi modificare manualmente i due file di configurazione:

~/.android/nome_avd.avd/config.ini

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

e cambia hw.gpu.mode in host

Consulta la sezione bug per ulteriori dettagli.