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.

Problemi di carattere generale


Google Maps non viene visualizzato nei controlli estesi dell'emulatore Android

Le versioni di Android Emulator precedenti alla versione 34.2.13 non disporranno più di mappe Google funzionali nei controlli estesi a partire da metà maggio. Gli emulatori precedenti includono una versione di Chromium incompatibile con l'API JavaScript di Google Maps.

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

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.

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.

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.

Problemi di grafica


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 sia una GPU discreta, disabilita la GPU Intel in Gestione dispositivi per assicurarti di utilizzare la GPU discreta.
  • Esegui l'emulatore usando la modalità -gpu swiftshader. Per ulteriori informazioni sulla configurazione delle opzioni di accelerazione grafica dalla 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.

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.

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.

Avviso driver GPU - Passaggio del software in corso...

Se ricevi un avviso relativo al fallimento del driver GPU, è possibile che la GPU non sia supportata. 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

Tieni presente che questa operazione potrebbe ridurre la stabilità dell'emulatore. 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.

Problemi di rete


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.

Vecchi problemi (su emulatori deprecati o sistemi precedenti)


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

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.

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.