Compartilhar via


Como habilitar a aceleração de hardware com emuladores Android (Hyper-V &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 habilitada, o emulador será executado muito lentamente. Você pode melhorar significativamente o desempenho do emulador habilitando a aceleração de hardware e usando imagens de dispositivo virtual apropriadas para sua arquitetura de processador. Para obter mais informações, consulte Configurar a aceleração de hardware para o Android Emulator no developer.android.com.

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

No macOS, o emulador do Android usa o Hypervisor.Framework interno. Para obter mais informações, consulte Hypervisor no developer.apple.com.

Acelerar emuladores do Android no Windows

As seguintes tecnologias de virtualização estão disponíveis para acelerar o emulador do 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.
  • Driver de hipervisor do Android Emulator (AEHD).

Observação

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

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

  • A aceleração de hardware está disponível e habilitada no 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 VM (Máquina Virtual) pode ser executado dentro de outra VM, incluindo o Microsoft Dev Box, desde que a virtualização aninhada esteja habilitada na VM.

Limitações de dispositivo do Windows ARM

Atualmente, o emulador android requer a arquitetura do processador x64 e não tem suporte em dispositivos Windows ARM. Essa limitação afeta dispositivos como:

  • Surface Pro X
  • Surface Pro 9 (variante 5G/ARM)
  • Outros dispositivos Windows com processadores ARM64 (Snapdragon, etc.)

Se você estiver usando um dispositivo WINDOWS ARM, considere as seguintes alternativas:

  • Use um dispositivo Android físico para teste por meio de depuração USB. Para obter mais informações, confira Configurar o dispositivo Android para depuração.
  • Use serviços de teste baseados em nuvem ou ambientes de desenvolvimento remoto com arquitetura x64.
  • Considere usar o Subsistema do Windows para Android (WSA) se disponível, embora isso tenha limitações e funcionalidades diferentes em comparação com o emulador do Android.

Para obter as informações mais recentes sobre os requisitos do Emulador do Android, consulte os requisitos do Android Emulator em developer.android.com.

Para obter informações sobre como executar e depurar no Android Emulator, consulte Depuração no Android Emulator.

Acelerar com Hyper-V

Antes de habilitar o Hyper-V, leia a seção a seguir para verificar se o computador dá suporte ao Hyper-V.

Verificar o suporte para Hyper-V

Hyper-V é executado na Plataforma do Hipervisor do Windows. Para usar o emulador android com Hyper-V, seu computador deve atender aos seguintes critérios para dar suporte à Plataforma do Hipervisor do Windows:

  • O hardware do computador deve atender aos seguintes requisitos:

    • Processadores Intel com suporte para recursos de Tecnologia de Virtualização (VT-x), EPT (Tabelas de Página Estendida) e UG (Convidado Irrestrito). O VT-x deve estar habilitado no BIOS do computador.
    • Processadores AMD: processador AMD Ryzen recomendado. A virtualização ou a SVM devem ser habilitadas 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 o Hyper-V, abra um prompt de comando e digite o seguinte comando:

systeminfo

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

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

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

Importante

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

Habilitar aceleração de Hyper-V no Windows

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

  1. Insira os 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 o Hyper-V e o Windows Hypervisor Platform:

    Habilitando o Hyper-V e o Windows Hypervisor Platform para .NET MAUI.

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

    Importante

    No Windows 10 October 2018 Update (RS5) e superior, você só precisa habilitar o Hyper-V, pois ele usará o WHPX (Windows Hypervisor Platform) automaticamente.

  2. Verifique se o dispositivo virtual criado no Gerenciador de Dispositivos Android é uma imagem de sistema baseada em x86-64 ou x86. Se você usar uma imagem do sistema baseada em Arm, o dispositivo virtual não será acelerado e será executado lentamente.

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

Acelerar com o AEHD

Se o computador não der suporte ao Hyper-V, você deverá usar o AEHD para acelerar o emulador android. Antes de instalar e usar o AEHD, leia a seção a seguir para verificar se o computador dá suporte ao AEHD.

Verificar o suporte para a AEHD

Seu computador deve atender aos seguintes critérios para dar suporte ao AEHD:

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

Observação

Vários recursos no Windows habilitam Hyper-V implicitamente. Para obter mais informações, consulte Verificar duas vezes ao desabilitar o Hyper-V no developer.android.com.

Habilitar a aceleração do AEHD no Windows

Se o computador atender aos critérios acima, use as seguintes etapas para acelerar o emulador android com o AEHD:

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

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

  3. Na aba Ferramentas, expanda Extras, marque a caixa de verificação do item Driver de Hipervisor do Emulador Android (instalador) e selecione o botão Aplicar Alterações:

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

    Observação

    Como alternativa, o AEHD pode ser baixado e instalado no GitHub. Depois de desempacotar o pacote de driver, execute silent_install.bat em uma linha de comando com privilégios de administrador.

  4. Verifique se o dispositivo virtual criado no Gerenciador de Dispositivos Android é uma imagem de sistema baseada em x86-64 ou x86. Se você usar uma imagem do sistema baseada em Arm, o dispositivo virtual não será acelerado e será executado lentamente.

AEHD 2.1 e superior

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

sc query aehd

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

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

A mensagem de erro a seguir significa que a extensão de virtualização não está habilitada em seu BIOS ou que Hyper-V não está desabilitada:

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

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

AEHD 2.0 e inferior

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

sc query gvm

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

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

A mensagem de erro a seguir significa que a extensão de virtualização não está habilitada em seu BIOS ou que Hyper-V não está desabilitada:

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

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

Desinstalar o 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.

Troubleshoot

Para obter ajuda com a solução de problemas de aceleração de hardware, consulte o guia de solução de problemas do android emulador.