L'emulatore funziona al meglio se può utilizzare l'hardware della tua macchina, ad esempio CPU, GPU e modem, anziché essere eseguito come puro software. Possibilità di utilizzare l'hardware del computer per migliorare le prestazioni si chiama hardware dell'audiodescrizione.
L'emulatore può utilizzare l'accelerazione hardware per migliorare in due modi principali:
- Accelerazione grafica per migliorare lo schermo rendering
- Accelerazione delle macchine virtuali (VM) per una maggiore velocità di esecuzione
L'accelerazione hardware è abilitata per impostazione predefinita sulla maggior parte delle macchine. In caso contrario abilitata sul computer, questa pagina descrive come configurare le grafiche l'accelerazione di una macchina virtuale (VM) per ottenere prestazioni migliori dall'emulatore.
Configura l'accelerazione grafica
L'accelerazione grafica utilizza l'hardware del computer (in genere la GPU) per il rendering dello schermo più velocemente. I dispositivi Android utilizzano OpenGL per i sistemi integrati (OpenGL ES o GLES) per il rendering di immagini 2D e Elementi grafici 3D sullo schermo.
Quando crei un dispositivo virtuale Android in Gestione AVD, puoi specificare se l'emulatore utilizza hardware o software per emulare la GPU della durata di visualizzazione media. L'accelerazione hardware è consigliata ed è in genere più velocemente. Tuttavia, potresti dover utilizzare l'accelerazione software se il tuo computer utilizza driver di grafica non compatibili con l'emulatore.
Per impostazione predefinita, l'emulatore decide se utilizzare hardware o software accelerazione grafica basata sulla configurazione del computer. Se l'hardware GPU e l'hardware sono compatibili, l'emulatore usa la GPU. Altrimenti, l'emulatore utilizza l'accelerazione software (utilizzando la CPU del computer) per simulare la GPU e l'elaborazione dei dati.
Se avvii l'emulatore riga di comando, puoi eseguire l'override l'impostazione di accelerazione grafica nella durata di visualizzazione media per l'istanza del dispositivo virtuale.
Requisiti
Per utilizzare l'accelerazione grafica, l'ambiente di sviluppo deve disporre seguenti:
- Strumenti dell'SDK: Ultima release consigliata (versione 17 minima)
- SDK Platform: consigliata release più recente (Android 4.0.3, revisione 3, minima)
Configura l'accelerazione grafica in Gestione AVD
Per configurare l'accelerazione grafica per una durata di visualizzazione media, segui questi passaggi:
- Apri Gestione AVD.
- Crea una nuova durata di visualizzazione media oppure modificare una durata di visualizzazione media esistente.
- Nella sezione Verifica configurazione individua la sezione Prestazioni emulate.
- Seleziona un valore per l'opzione Elementi grafici:.
- Fai clic su Fine.
Configura l'accelerazione grafica dalla riga di comando
Per specificare un tipo di accelerazione grafica quando esegui una durata di visualizzazione media dal comando
includi l'opzione -gpu
, come mostrato nell'esempio seguente:
emulator -avd avd_name -gpu mode [{-option [value]} ... ]
Il valore di mode
può essere impostato su uno dei seguenti valori
opzioni:
auto
: consenti all'emulatore di scegliere tra grafica hardware o software basata sulla configurazione del computer.host
: utilizza la GPU del computer per l'accelerazione hardware. Questa opzione in genere offre le massime prestazioni e qualità grafiche per un emulatore. Tuttavia, se i driver di grafica riscontrano problemi di rendering di OpenGL, potrebbe essere necessario usare le opzioniswiftshader_indirect
oangle_indirect
.swiftshader_indirect
: usa una variante compatibile con l'Avvio rapido di SwiftShader per eseguire il rendering della grafica utilizzando l'accelerazione software. Questa opzione è utile alternativa alla modalitàhost
se il computer non può utilizzare l'accelerazione hardware.angle_indirect
: (solo Windows) usa una variante compatibile con l'Avvio rapido di ANGOLARE Direct3D per eseguire il rendering della grafica utilizzando l'accelerazione software. Questa opzione è utile alternativa alla modalitàhost
se il computer non può utilizzare l'accelerazione hardware. Nella maggior parte dei casi, le prestazioni di ANGLE sono simili all'utilizzo della modalitàhost
perché ANGLE utilizza Microsoft Direct al posto di OpenGL.Su Windows, Microsoft In genere i driver OpenGL presentano meno problemi rispetto ai driver OpenGL. Questa opzione utilizza Direct3D 11 e richiede Windows 10, Windows 8.1 o Windows 7 SP1 con l'aggiornamento della piattaforma Windows 7.
guest
: utilizza il rendering software lato guest. Questa opzione offre il valore e le prestazioni della grafica per l'emulatore.
Le seguenti opzioni di mode
sono deprecate:
swiftshader
: deprecata nella versione 27.0.2. Usaswiftshader_indirect
.angle
: deprecata nella versione 27.0.2. Utilizza invece il criterioangle_indirect
(Windows ).mesa
: ritirata nella versione 25.3. Usa invece il criterioswiftshader_indirect
.
Attiva il rendering Skia per l'UI di Android
Quando utilizzi immagini per il livello API 27 o superiore, l'emulatore può eseguire il rendering UI Android con Skia. Skia aiuta dell'emulatore di video può eseguire il rendering della grafica in modo più fluido ed efficiente.
Per attivare il rendering Skia, utilizza i seguenti comandi nella shell adb
:
su
setprop debug.hwui.renderer skiagl
stop
start
Configura l'accelerazione delle VM
L'accelerazione delle VM utilizza il processore del computer per migliorare significativamente la velocità di esecuzione dell'emulatore. Uno strumento chiamato hypervisor interazione mediante estensioni di virtualizzazione che il processore del tuo computer fornisce. Questa sezione descrive i requisiti per usare l'accelerazione delle VM e descrive come configurare l'accelerazione delle VM su ciascun sistema operativo.
Requisiti generali
Per utilizzare l'accelerazione VM con l'emulatore, il computer deve soddisfare i requisiti generali disponibili in questa sezione. Il tuo computer deve inoltre soddisfare altre specifici del tuo sistema operativo.
Requisiti dell'ambiente di sviluppo
Per utilizzare l'accelerazione delle VM, l'ambiente di sviluppo deve soddisfare i seguenti requisiti:
- Strumenti dell'SDK: Versione minima 17; versione consigliata 26.1.1 o successiva
Durata di visualizzazione media: La versione di Android richiesta è descritta nella tabella che segue.
Architettura CPU Requisito di immagine di sistema X86_64 immagini di sistema x86 o x86_64 per Android 2.3.3 (livello API 10) e versioni successive ARM64 immagini di sistema arm64-v8a per Android 5.0 (livello API 21) e versioni successive
Requisiti delle estensioni di virtualizzazione
Oltre ai requisiti dell'ambiente di sviluppo, il computer deve supportare le estensioni di virtualizzazione. I processori supportati sono:
- Processori Intel con tecnologia di virtualizzazione Intel (VT-x, vmx), come Processori Intel Core iX e Intel Core Ultra
- Processori AMD con AMD-V (SVM), come i processori AMD Ryzen
- Mela
Requisiti aggiuntivi per i processori Intel e AMD:
Intel EPT o AMD RVI è richiesta per la traduzione degli indirizzi di secondo livello e processori AMD. I processori Intel e AMD più moderni supportano la traduzione di indirizzi. Solo i processori Intel o AMD di prima generazione offrono le estensioni di virtualizzazione potrebbero non avere traduzioni di pagine di secondo livello.
Se non hai la certezza che il processore supporti le estensioni richieste, controlla le specifiche del processore sul sito del produttore. Se le tue non supporta queste estensioni, non puoi utilizzare l'accelerazione delle VM.
Restrizioni
L'accelerazione delle VM presenta le seguenti limitazioni:
- Non puoi eseguire un emulatore con accelerazione VM all'interno di un'altra VM, ad esempio una VM ospitata da VirtualBox, VMWare o Docker. Devi eseguire un emulatore con accelerazione VM direttamente sul computer host.
- A seconda del sistema operativo e dell'hypervisor, potrebbe non essere possibile eseguire software che utilizza un'altra tecnologia di virtualizzazione nello stesso momento in cui esegui Emulatore con accelerazione VM. Esempi di tale software includono, a titolo esemplificativo, limitati a soluzioni di macchine virtuali, alcuni programmi antivirus e soluzioni anti-truffa. La situazione si osserva principalmente su Windows con Hyper-V disattivata. La maggior parte di questi software può coesistere con l'emulatore Android senza per risolvere problemi di produzione e facilità d'uso. Tuttavia, in caso di conflitti, è consigliabile non eseguire contemporaneamente, anche con accelerazione VM.
Informazioni sugli hypervisor
L'accelerazione delle VM richiede un hypervisor, uno strumento che utilizza la virtualizzazione estensioni fornite dal processore del computer.
Senza un hypervisor e un'accelerazione della VM, l'emulatore deve tradurre il testo il codice della macchina dalla VM, blocco per blocco, in modo che sia conforme all'architettura computer host. Questo processo può essere piuttosto lento. Con un hypervisor, quando la VM e l'architettura del computer host corrisponde, l'emulatore può eseguire codice direttamente sul processore host utilizzando l'hypervisor. Questo miglioramento aumenta drasticamente la velocità e le prestazioni dell'emulatore.
L'hypervisor più adatto a te dipende dal funzionamento del tuo computer il sistema e la configurazione. Per ulteriori informazioni, consulta uno dei seguenti articoli sezioni:
- Configurare l'accelerazione delle VM su Windows
- Configurare l'accelerazione delle VM su macOS
- Configurare l'accelerazione delle VM su Linux
Verificare se è installato un hypervisor
Puoi usare l'opzione a riga di comando dell'emulatore -accel-check
per verificare se
un hypervisor è attualmente installato sul tuo computer.
I seguenti esempi mostrano come utilizzare l'opzione dell'emulatore accel-check
. Nella
In ogni esempio, Sdk
è la posizione dell'SDK Android:
Windows:
c:\Users\janedoe\AppData\Local\Android> Sdk\emulator\emulator -accel-check accel: 0 AEHD (version 2.2) is installed and usable. accel
macOS:
janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check accel: 0 Hypervisor.Framework OS X Version 13.2 accel
Linux:
janedoe:~/Android$ ./Sdk/emulator/emulator -accel-check accel: 0 KVM (version 12) is installed and usable.
Configurare l'accelerazione delle VM su Windows
L'accelerazione delle VM su Windows può utilizzare uno dei due hypervisor:
- Windows Hypervisor Platform (WHPX)
- Il driver hypervisor Android Emulator (AEHD)
Scegli un hypervisor su Windows
Questa sezione mostra i criteri per determinare quale hypervisor utilizzare. Il processo per configurare l'accelerazione delle VM utilizzando ciascun hypervisor è descritto in le sezioni successive.
Criteri | Hypervisor |
---|---|
Devi eseguire Hyper-V contemporaneamente all'emulatore Android. | Utilizza WHPX. |
Non è necessario eseguire Hyper-V contemporaneamente all'emulatore Android. | Usa il driver hypervisor Android Emulator. |
Configurare l'accelerazione delle VM utilizzando Windows Hypervisor Platform
Per poter attivare WHPX, il computer deve soddisfare i seguenti requisiti:
- Processori Intel: supporto per la tecnologia di virtualizzazione (VT-x), pagina estesa Funzionalità Tables (EPT) e Ospite senza restrizioni (UG). VT-x deve essere abilitato in le impostazioni del BIOS del computer.
- Processori AMD: si consiglia il processore AMD Ryzen. La virtualizzazione o SVM deve attiva nelle impostazioni del BIOS del computer.
- Android Studio 3.2 Beta 1 o versioni successive
- Emulatore Android 27.3.8 o versioni successive
- Windows 10 o versioni successive
Per installare WHPX su Windows, segui questa procedura:
- Dal desktop di Windows, fai clic con il tasto destro del mouse sull'icona di Windows e seleziona App e funzionalità.
- In Impostazioni correlate, fai clic su Programmi e funzionalità.
- Fai clic su Attiva o disattiva le funzionalità Windows.
Seleziona Windows Hypervisor Platform.
Fai clic su OK.
Al termine dell'installazione, riavvia il computer.
Configurare l'accelerazione delle VM utilizzando il driver hypervisor Android Emulator (AEHD) su Windows
Prima di poter installare e utilizzare il driver hypervisor Android Emulator, il computer deve soddisfare i seguenti requisiti:
- Processori Intel o AMD con estensione di virtualizzazione.
Windows 11 o Windows 10 a 64 bit (Windows a 32 bit non supportati)
Gli utenti Windows 8.1, Windows 8 e Windows 7 possono continuare a utilizzare AEHD 1.7 o inferiore. Tuttavia, non viene fornita assistenza per questi scenari.
Hyper-V deve essere disabilitato nella finestra di dialogo Funzionalità di Windows.
Alcuni componenti di finestre possono attivare l'hypervisor Hyper-V senza Abilitando Hyper-V nella finestra di dialogo delle funzionalità di Windows, ad esempio Isolamento principale offerto da Windows Defender. In questi casi, utilizza WHPX. .
Sui processori AMD, il driver hypervisor Android Emulator può essere installato tramite SDK Manager nella versione canary di Android Studio 4.0 5 o versioni successive.
Sui processori Intel, il driver hypervisor Android Emulator può essere installato tramite Gestore SDK in Android Studio Flamingo o in un secondo momento.
Per l'installazione da SDK Manager, segui questi passaggi:
- Seleziona Strumenti > SDK Manager.
- Fai clic sulla scheda Strumenti SDK e seleziona hypervisor Android Emulator il conducente.
- Fai clic su OK per scaricare e installare il driver hypervisor Android Emulator.
Dopo l'installazione, verifica che il driver stia funzionando correttamente utilizzando il seguente comando a riga di comando:
AEHD 2.1 e versioni successive
sc query aehd
Un messaggio di stato include le seguenti informazioni:
SERVICE_NAME: aehd ... STATE : 4 RUNNING ...
Il seguente messaggio di errore indica che l'estensione di virtualizzazione non è sia abilitato nel BIOS o che Hyper-V non sia disabilitato:
SERVICE_NAME: aehd ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
AEHD 2.0 e versioni precedenti
sc query gvm
Un messaggio di stato include le seguenti informazioni:
SERVICE_NAME: gvm ... STATE : 4 RUNNING ...
Il seguente messaggio di errore indica che l'estensione di virtualizzazione non è sia abilitato nel BIOS o che Hyper-V non sia disabilitato:
SERVICE_NAME: gvm ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
Il driver hypervisor Android Emulator può essere anche scaricato e installato da
GitHub.
Dopo aver decompresso il pacchetto del driver, esegui silent_install.bat
da una riga di comando
con privilegi amministrativi.
Disinstalla il driver hypervisor Android Emulator utilizzando i seguenti comandi in un riga di comando con privilegi amministrativi:
AEHD 2.1 e versioni successive
sc stop aehd
sc delete aehd
AEHD 2.0 e versioni precedenti
sc stop gvm
sc delete gvm
Configurare l'accelerazione delle VM su macOS
Su macOS, l'emulatore Android utilizza lo strumento Hypervisor.Framework che richiede macOS v10.10 (Yosemite) e versioni successive. Tuttavia, Android Studio potrebbe richiedere una versione superiore per macOS. In questi casi, segui le istruzioni di Android Requisiti di sistema di Studio
Configurare l'accelerazione delle VM su Linux
I sistemi basati su Linux supportano l'accelerazione delle VM tramite il software KVM pacchetto. Segui le istruzioni per installare KVM sul tuo sistema Linux, quindi verifica che la KVM sia abilitata. Per i sistemi Ubuntu, vedi Installazione KVM Ubuntu.
Requisiti
L'esecuzione di una KVM richiede autorizzazioni utente specifiche. Assicurati di avere autorizzazioni sufficienti, come specificato nelle istruzioni per l'installazione di KVM.
Per utilizzare l'accelerazione VM su Linux, il computer deve soddisfare anche questi requisiti requisiti:
- Per i processori Intel: supporto per la tecnologia di virtualizzazione (VT-x), Intel Funzionalità EM64T (Intel 64) e funzionalità Esecuzione disabilitazione (XD) bit abilitate.
- Per i processori AMD: supporto per AMD Virtualization (AMD-V).
Controllare se KVM è attualmente installato su Linux
Puoi usare l'emulatore -accel-check
per controllare se una KVM è installata. In alternativa,
puoi installare il pacchetto cpu-checker
contenente il comando kvm-ok
.
L'esempio seguente mostra come utilizzare il comando kvm-ok
:
Installa il pacchetto
cpu-checker
:sudo apt-get install cpu-checker egrep -c '(vmx|svm)' /proc/cpuinfo
Un output pari a 1 o superiore indica che la virtualizzazione è supportata. Un output di 0 significa che la CPU non supporta la virtualizzazione hardware.
Esegui il comando
kvm-ok
:sudo kvm-ok
Output previsto:
INFO: /dev/kvm exists KVM acceleration can be used
Se viene visualizzato il seguente errore, significa che puoi comunque eseguire machine learning. Tuttavia, la tua macchina virtuale è più lenta senza le estensioni KVM.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
Installare KVM su Linux
Utilizza il seguente comando per installare la KVM:
Cosmico (18.10) o versioni successive:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Lucid (10.04) o versioni successive:
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) o versioni precedenti:
sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
Guida alla disinstallazione di Intel HAXM
A partire dall'emulatore 33.x.x.x, HAXM è deprecato poiché Intel non è più disponibile sviluppo di HAXM. Emulatore Android il driver hypervisor (AEHD) sostituisce Intel HAXM su processori Intel.
È consigliabile rimuovere completamente Intel HAXM dal sistema Windows, a meno che tu non abbia installato software diverso che dipende da HAXM e scegli per mantenere Intel HAXM e gestirlo autonomamente.
Per disinstallare Intel HAXM, procedi nel seguente modo:
Controlla se Intel HAXM è installato
Per determinare se Intel HAXM è installato sul tuo sistema Windows, apri un Console comandi Windows ed esegui questo comando:
sc query intelhaxm
Se Intel HAXM è installato e in esecuzione, dovrebbe essere visualizzato il seguente messaggio
nell'output comando.
Se Intel HAXM è installato ma è disabilitato, dovrebbe essere visualizzato il seguente messaggio
nell'output comando.
In entrambi i casi, indipendentemente dal fatto che Intel HAXM sia in esecuzione o disabilitato, installato. Devi andare al passaggio successivo per continuare con la disinstallazione di Intel HAXM.
Se Intel HAXM non è installato, dovrebbe essere visualizzato il seguente messaggio.
Disinstalla Intel HAXM utilizzando SDK Manager da Android Studio
Apri SDK Manager da Android Studio, quindi vai a "Strumenti SDK" Tab, quindi
vai a "Intel x86 Emulator Accelerator (programma di installazione HAXM) - Deprecato"
dalla riga di comando. Dovrebbe essere simile al seguente screenshot.
Deseleziona la casella di controllo come mostrato nello screenshot seguente.
Fai clic su "Applica" e apparirà la finestra di dialogo che segue.
Dopo la disinstallazione di Intel HAXM, dovresti vedere quanto segue.
La disinstallazione è terminata e puoi interrompere l'operazione qui.
In caso di errori, vai al passaggio successivo.
Disinstalla Intel HAXM utilizzando le "impostazioni" di Windows.
Apri le impostazioni di Windows e seleziona "App > App installate".
Individua "Intel Hardware Accelerated Execution Manager". voce e clic
"Disinstalla", come mostrato nello screenshot seguente.
Dovrebbe essere eseguito il programma di disinstallazione Intel HAXM e segnalare il risultato. Se è stata completata correttamente, vai a Elimina il pacchetto di installazione di Intel HAXM. In caso contrario, vai al passaggio successivo.
Disinstallare tramite riga di comando
Interrompi il servizio Intel HAXM eseguendo "sc stop intelhaxm". Dovresti vedere l'etichetta successivo all'output.
Elimina il servizio Intel HAXM eseguendo "sc delete intelhaxm". Dovresti vedere il seguente output.
Vai a Elimina il pacchetto di installazione Intel HAXM.
Elimina il pacchetto di installazione Intel HAXM.
Questo passaggio è necessario soltanto se si disinstalla Intel HAXM utilizzando le "impostazioni" di Windows o dalla riga di comando. Senza questo passaggio, il gestore degli SDK di Android Studio potrebbe continua a elencare Intel HAXM come "Installato".
Il pacchetto di installazione si trova in<cartella SDK Android>\extras\intel.
Per impostazione predefinita, l'SDK Android verrà installato in "C:\Users\<il tuo ID utente di Windows
>\AppData\Local\Android\Sdk". Guarda l'esempio nello screenshot seguente.