Como habilitar a aceleração de hardware com emuladores Android (Hyper-V e AEHD)

Com o Visual Studio, você pode testar e depurar facilmente seu aplicativo .NET MAUI para Android em emuladores para situações em que um dispositivo Android não está disponível. No entanto, se a aceleração de hardware não estiver disponível ou habilitado, o emulador funcionará muito lentamente. Você pode melhorar significativamente o desempenho do emulador habilitando a aceleração de hardware e usando imagens de dispositivos virtuais apropriadas para a arquitetura do seu processador. Para mais informações, veja Configurar aceleração de hardware para o Android Emulator em developer.android.com.

O emulador fornece recursos de rede versáteis que podem ser usados ​​para diferentes finalidades, incluindo a conexão a um emulador em execução em um Mac a partir de uma máquina virtual (VM) do Windows. Para obter mais informações, veja Conectar-se a um emulador Android em um Mac de dentro de uma máquina virtual Windows.

No macOS, o emulador Android usa o Hypervisor.Framework integrado. Para obter mais informações, veja Hipervisor em developer.apple.com.

Acelere emuladores Android no Windows

As seguintes tecnologias de virtualização estão disponíveis para acelerar o emulador Android no Windows:

  • A plataforma de hipervisor do Windows (WHPX). O Hyper-V é um recurso de virtualização do Windows que possibilita a execução de sistemas de computador virtualizados em um computador host físico.
  • O driver do hipervisor do Android Emulator (AEHD).

Observação

O Intel Hardware Accelerated Execution Manager (HAXM) foi descontinuado do emulador 33.x.x.x e foi substituído pelo AEHD nos processadores Intel. Para obter informações sobre como usar o HAXM no emulador 32.x.x.x e inferior, veja Configurar aceleração de VM usando Intel HAXM no Windows em developer.android.com.

Para obter a melhor experiência no Windows, é recomendável usar WHPX para acelerar o emulador Android. Se o WHPX não estiver disponível no seu computador, o AEHD poderá ser usado. O emulador Android usa automaticamente a aceleração de hardware se os seguintes critérios forem atendidos:

  • A aceleração de hardware está disponível e habilitada em seu computador de desenvolvimento.
  • O emulador está executando uma imagem do sistema criada para um dispositivo virtual baseado em x86-64 ou x86.

Importante

Um emulador acelerado de máquina virtual (VM) pode ser executado dentro de outra VM, incluindo o Computador de Desenvolvimento da Microsoft, desde que a virtualização aninhada esteja habilitada na VM.

Para obter informações sobre lançamento e depuração com o Android Emulator, confira Depurando no Android Emulator.

Acelere com o Hyper-V

Antes de habilitar o Hyper-V, leia a seção a seguir para verificar se seu computador tem suporte para ele.

Verifique o suporte para Hyper-V

O Hyper-V é executado na Plataforma de Hipervisor do Windows. Para usar o Android Emulator com o Hyper-V, o computador precisa atender aos seguintes critérios para dar suporte à Plataforma de Hipervisor do Windows:

  • O hardware do computador deve atender aos seguintes requisitos:

    • Processadores Intel com suporte para tecnologia de virtualização (VT-x), tabelas de páginas estendidas (EPT) e recursos de convidado irrestrito (UG). O VT-x deve estar habilitado no BIOS do seu computador.
    • Processadores AMD: Processador AMD Ryzen recomendado. A virtualização ou SVM deve estar habilitada no BIOS do seu computador.
  • Seu computador deve estar executando as versões Enterprise, Pro ou Education do Windows 11 ou Windows 10 versão 1909 ou posterior.

Para verificar se o hardware e o software do computador são compatíveis com Hyper-V, abra um prompt de comando e digite o seguinte comando:

systeminfo

Se todos os requisitos listados do Hyper-V tiverem um valor de Sim, o computador poderá dar suporte a Hyper-V. Por exemplo:

Exemplo de saída systeminfo ao verificar o suporte do Hyper-V para .NET MAUI.

Se o resultado do Hyper-V indicar que um hipervisor está em execução, o Hyper-V já está habilitado.

Importante

Se o Windows estiver sendo executado dentro de uma máquina virtual, a virtualização aninhada deverá ser habilitada no hipervisor host.

Habilite a aceleração do Hyper-V no Windows

Se o computador atender aos critérios acima, use as seguintes etapas para acelerar o Android Emulator com o Hyper-V:

  1. Insira recursos do windows na caixa de pesquisa do Windows e selecione Ativar ou desativar recursos do Windows nos resultados da pesquisa. Na caixa de diálogo Recursos do Windows, habilite Hyper-V e Plataforma de Hipervisor do Windows:

    Habilitando a plataforma Hyper-V e Windows Hypervisor para .NET MAUI.

    Depois de fazer essas alterações, reinicie o computador.

    Importante

    Na atualização de outubro de 2018 do Windows 10 (RS5) e posteriores, será necessário habilitar somente o Hyper-V, já que ele usará o WHPX (Plataforma de Hipervisor do Windows) automaticamente.

  2. Certifique-se de que o dispositivo virtual que você * criou no Gerenciador de Dispositivos Android seja uma imagem de sistema baseada em x86-64 ou x86. Se você usar uma imagem de sistema baseada em Arm, o dispositivo virtual não será acelerado e funcionará lentamente.

Depois que o Hyper-V estiver habilitado, você poderá executar seu emulador Android acelerado.

Acelere com AEHD

Se o seu computador não suporta Hyper-V, você deve usar AEHD para acelerar o emulador Android. Antes de instalar e usar AEHD, leia a seção a seguir para verificar se o seu computador oferece suporte a AEHD.

Verifique o suporte para AEHD

Seu computador deve atender aos seguintes critérios para oferecer suporte a AEHD:

  • Um processador Intel ou AMD com extensão de virtualização, que deve estar habilitado em seu BIOS.
  • Windows 11 ou Windows 10 de 64 bits.
  • O Hyper-V deve estar desligado.

Observação

Vários recursos do Windows habilitam o Hyper-V implicitamente. Para obter mais informações, veja Verifique novamente ao desabilitar o Hyper-V em developer.android.com.

Habilite a aceleração AEHD no Windows

Se o seu computador atender aos critérios acima, siga as etapas a seguir para acelerar o emulador Android com AEHD:

  1. No Visual Studio, selecione o item de menu Ferramentas > Android > SDK do Android Manager....

  2. Na janela SDKs e ferramentas do Android, selecione a guia Ferramentas.

  3. Na guia Ferramentas, expanda Extras, marque a caixa de seleção do item Android Emulator Hypervisor Driver (instalador) e selecione o botão Aplicar alterações:

    Instalando AEHD por meio do gerenciador SDK do Android no Visual Studio.

    Observação

    Alternativamente, o AEHD pode ser baixado e instalado no GitHub. Após descompactar o pacote do driver, execute silent_install.bat em uma linha de comando com privilégios de administrador.

  4. Certifique-se de que o dispositivo virtual que você * criou no Gerenciador de Dispositivos Android seja uma imagem de sistema baseada em x86-64 ou x86. Se você usar uma imagem de sistema baseada em Arm, o dispositivo virtual não será acelerado e funcionará lentamente.

AEHD 2.1 e superior

Após a instalação, confirme se o driver está funcionando corretamente usando o seguinte comando:

sc query aehd

Se o driver estiver funcionando corretamente, a mensagem de status incluirá as seguintes informações:

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

A seguinte mensagem de erro significa que a extensão de virtualização não está habilitada no BIOS ou que o Hyper-V não está desabilitado:

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

Depois que o AEHD estiver instalado e em execução, você poderá executar seu emulador Android acelerado.

AEHD 2.0 e inferior

Após a instalação, confirme se o driver está funcionando corretamente usando o seguinte comando:

sc query gvm

Se o driver estiver funcionando corretamente, a mensagem de status incluirá as seguintes informações:

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

A seguinte mensagem de erro significa que a extensão de virtualização não está habilitada no BIOS ou que o Hyper-V não está desabilitado:

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

Depois que o AEHD estiver instalado e em execução, você poderá executar seu emulador Android acelerado.

Desinstalar AEHD

Para desinstalar o AEHD, use os seguintes comandos em uma linha de comando com privilégios de administrador:

  • AEHD 2.1 e superior

    sc stop aehd
    sc delete aehd
    
  • AEHD 2.0 e inferior

    sc stop gvm
    sc delete gvm
    

Importante

Desligue todos os emuladores x86 antes de desinstalar o AEHD para AMD.

Solucionar problemas

Para obter ajuda para solucionar problemas de aceleração de hardware, confira o guia de solução de problemas do Android Emulator.