Condividi tramite


Come abilitare l'accelerazione hardware con emulatori Android (Hyper-V e AEHD)

Con Visual Studio è possibile testare ed eseguire facilmente il debug dell'app MAUI .NET per Android nelle situazioni in cui un dispositivo Android non è disponibile. Tuttavia, se l'accelerazione hardware non è disponibile o abilitata, l'emulatore verrà eseguito molto lentamente. È possibile migliorare significativamente le prestazioni dell'emulatore abilitando l'accelerazione hardware e usando immagini del dispositivo virtuale appropriate per l'architettura del processore. Per altre informazioni, vedere Configurare l'accelerazione hardware per l'emulatore Android in developer.android.com.

L'emulatore offre funzionalità di rete versatili che possono essere usate per scopi diversi, inclusa la connessione a un emulatore in esecuzione in un Mac dall'interno di una macchina virtuale Windows. Per altre informazioni, vedere Connettersi a un emulatore Android in un Mac dall'interno di una macchina virtuale Windows.

In macOS l'emulatore Android usa hypervisor.Framework predefinito. Per altre informazioni, vedere Hypervisor in developer.apple.com.

Accelerare gli emulatori Android in Windows

Per accelerare l'emulatore Android in Windows sono disponibili le tecnologie di virtualizzazione seguenti:

  • Piattaforma Windows Hypervisor (WHPX). Hyper-V è una funzionalità di virtualizzazione di Windows che consente l'esecuzione di sistemi di computer virtualizzati in un computer host fisico.
  • Driver dell'hypervisor dell'emulatore Android (AEHD).

Nota

Intel Hardware Accelerated Execution Manager (HAXM) è deprecato dall'emulatore 33.x.x.x ed è stato sostituito da AEHD nei processori Intel. Per informazioni sull'uso di HAXM nell'emulatore 32.x.x.x e versioni precedenti, vedere Configurare l'accelerazione delle macchine virtuali con Intel HAXM in Windows in developer.android.com.

Per un'esperienza ottimale in Windows, è consigliabile usare WHPX per accelerare l'emulatore Android. Se WHPX non è disponibile nel computer, è possibile usare AEHD. L'emulatore Android usa automaticamente l'accelerazione hardware se vengono soddisfatti i criteri seguenti:

  • L'accelerazione hardware è disponibile e abilitata nel computer di sviluppo.
  • L'emulatore esegue un'immagine di sistema creata per un dispositivo virtuale basato su x86 o x86.

Importante

Un emulatore accelerato di macchina virtuale (VM) può essere eseguito all'interno di un'altra macchina virtuale, incluso Microsoft Dev Box, a condizione che la virtualizzazione annidata sia abilitata nella macchina virtuale.

Per informazioni sull'avvio e sul debug con l'emulatore Android, vedere Debug nell'emulatore Android.

Accelerare con Hyper-V

Prima di abilitare Hyper-V, leggere la sezione seguente per verificare che il computer supporti Hyper-V.

Verificare il supporto per Hyper-V

Hyper-V viene eseguito nella piattaforma Windows Hypervisor. Per usare l'emulatore Android con Hyper-V, il computer deve soddisfare i criteri seguenti per supportare la piattaforma Windows Hypervisor:

  • L'hardware del computer deve soddisfare i requisiti seguenti:

    • Processori Intel con supporto per le funzionalità VT-x (Virtualization Technology), Extended Page Tables (EPT) e Unrestricted Guest (UG). VT-x deve essere abilitato nel BIOS del computer.
    • Processori AMD: processore AMD Ryzen consigliato. La virtualizzazione o SVM deve essere abilitata nel BIOS del computer.
  • Il computer deve eseguire le versioni Enterprise, Pro o Education di Windows 11 o Windows 10 versione 1909 o successiva.

Per verificare che l'hardware e il software del computer siano compatibili con Hyper-V, aprire un prompt dei comandi e digitare il comando seguente:

systeminfo

Se tutti i requisiti di Hyper-V elencati hanno un valore Yes, i computer possono supportare Hyper-V. Ad esempio:

Esempio di output systeminfo durante il controllo del supporto di Hyper-V per .NET MAUI.

Se il risultato di Hyper-V indica che un hypervisor è attualmente in esecuzione, Hyper-V è già abilitato.

Importante

Se Windows è in esecuzione all'interno di una macchina virtuale, la virtualizzazione annidata deve essere abilitata nell'hypervisor host.

Abilitare l'accelerazione Hyper-V in Windows

Se il computer soddisfa i criteri sopra riportati, seguire questa procedura per accelerare l'emulatore Android con Hyper-v:

  1. Immettere funzionalità di windows nella casella di ricerca Windows e selezionare Attivazione o disattivazione delle funzionalità Windows nei risultati della ricerca. Nella finestra di dialogo Funzionalità Windows abilitare Hyper-V e Piattaforma Windows Hypervisor:

    Abilitazione della piattaforma Hyper-V e Windows Hypervisor per .NET MAUI.

    Dopo aver apportato queste modifiche, riavviare il computer.

    Importante

    Nell'aggiornamento di ottobre 2018 di Windows 10 (RS5) e versioni successive, è necessario abilitare solo Hyper-V, perché la piattaforma WHPX (Windows Hypervisor Platform) verrà usata automaticamente.

  2. Assicurarsi che il dispositivo virtuale creato nell'Gestione dispositivi Android sia un'immagine di sistema basata su x86-64 o x86. Se si usa un'immagine di sistema basata su Arm, il dispositivo virtuale non verrà accelerato e verrà eseguito lentamente.

Dopo aver abilitato Hyper-V, sarà possibile eseguire l'emulatore Android accelerato.

Accelerare con AEHD

Se il computer non supporta Hyper-V, è consigliabile usare AEHD per accelerare l'emulatore Android. Prima di poter installare e usare AEHD, leggere la sezione seguente per verificare che il computer supporti AEHD.

Verificare il supporto per AEHD

Il computer deve soddisfare i criteri seguenti per supportare AEHD:

  • Un processore Intel o AMD con estensione di virtualizzazione, che deve essere abilitato nel BIOS.
  • Windows 11 o Windows 10 a 64 bit.
  • Hyper-V deve essere disattivato.

Nota

Diverse funzionalità di Windows abilitano Hyper-V in modo implicito. Per altre informazioni, vedere Verifica doppia durante la disabilitazione di Hyper-V in developer.android.com.

Abilitare l'accelerazione AEHD in Windows

Se il computer soddisfa i criteri precedenti, seguire questa procedura per accelerare l'emulatore Android con AEHD:

  1. In Visual Studio selezionare la voce di menu Strumenti > Android > SDK Manager... .

  2. Nella finestra Android SDK e strumenti selezionare la scheda Strumenti.

  3. Nella scheda Strumenti espandere Extra, selezionare la casella di controllo per l'elemento Driver Hypervisor dell'emulatore Android (programma di installazione) e quindi selezionare il pulsante Applica modifiche:

    Installazione di AEHD tramite Android SDK Manager in Visual Studio.

    Nota

    In alternativa, È possibile scaricare e installare AEHD da GitHub. Dopo aver decompresso il pacchetto driver, eseguire silent_install.bat in una riga di comando con privilegi di amministratore.

  4. Assicurarsi che il dispositivo virtuale creato nell'Gestione dispositivi Android sia un'immagine di sistema basata su x86-64 o x86. Se si usa un'immagine di sistema basata su Arm, il dispositivo virtuale non verrà accelerato e verrà eseguito lentamente.

AEHD 2.1 e versioni successive

Dopo l'installazione, verificare che il driver funzioni correttamente usando il comando seguente:

sc query aehd

Se il driver funziona correttamente, il messaggio di stato includerà le informazioni seguenti:

SERVICE_NAME: aehd
       ...
       STATE              : 4  RUNNING
       ...

Il messaggio di errore seguente indica che l'estensione di virtualizzazione non è abilitata nel BIOS o che Hyper-V non è disabilitato:

SERVICE_NAME: aehd
       ...
       STATE              : 1  STOPPED
       WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
       ...

Dopo l'installazione e l'esecuzione di AEHD, sarà possibile eseguire l'emulatore Android accelerato.

AEHD 2.0 e versioni precedenti

Dopo l'installazione, verificare che il driver funzioni correttamente usando il comando seguente:

sc query gvm

Se il driver funziona correttamente, il messaggio di stato includerà le informazioni seguenti:

SERVICE_NAME: gvm
       ...
       STATE              : 4  RUNNING
       ...

Il messaggio di errore seguente indica che l'estensione di virtualizzazione non è abilitata nel BIOS o che Hyper-V non è disabilitato:

SERVICE_NAME: gvm
       ...
       STATE              : 1  STOPPED
       WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
       ...

Dopo l'installazione e l'esecuzione di AEHD, sarà possibile eseguire l'emulatore Android accelerato.

Disinstallare AEHD

Per disinstallare AEHD, usare i comandi seguenti in una riga di comando con privilegi di amministratore:

  • AEHD 2.1 e versioni successive

    sc stop aehd
    sc delete aehd
    
  • AEHD 2.0 e versioni precedenti

    sc stop gvm
    sc delete gvm
    

Importante

Arrestare qualsiasi emulatore x86 prima di disinstallare AEHD per AMD.

Risoluzione dei problemi

Per informazioni su come risolvere i problemi di accelerazione hardware, vedere la guida alla risoluzione dei problemi dell'emulatore Android.