Aceleração de hardware para o desempenho do emulador (Hyper-V e HAXM)
Este artigo explica como usar os recursos de aceleração de hardware do computador para maximizar o desempenho do Android Emulator.
Com o Visual Studio, os desenvolvedores podem testar e depurar mais facilmente seus aplicativos Xamarin.Android usando o Android Emulator em situações em que um dispositivo Android não está disponível ou é impraticável. No entanto, o Android Emulator será executado muito lentamente se a aceleração de hardware não estiver disponível no computador em que será executado. Você pode melhorar significativamente o desempenho do Android Emulator usando imagens de dispositivo virtual x86 especiais, em conjunto com os recursos de virtualização do computador.
Cenário | HAXM | WHPX | Hypervisor.Framework |
---|---|---|---|
Você tem um Processador Intel | X | X | X |
Você tem um Processador AMD | X | ||
Você deseja dar suporte ao Hyper-V | X | ||
Você deseja dar suporte à virtualização aninhada | Limitado | ||
Você deseja usar tecnologias como o Docker | (com WSL2) | X | X |
Acelerar emuladores de Android no Windows
As tecnologias de virtualização a seguir estão disponíveis para acelerar o Android Emulator:
Hyper-V e WHPX (Plataforma de Hipervisor do Windows) da Microsoft. 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.
HAXM (Hardware Accelerated Execution Manager) da Intel. O HAXM é um mecanismo de virtualização para computadores que executam CPUs Intel.
Para obter a melhor experiência no Windows, recomendamos usar o WHPX para acelerar o Android Emulator. Caso o WHPX não esteja disponível em seu computador, o HAXM poderá ser usado. A aceleração de hardware será usada automaticamente pelo Android Emulator 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 com base em x86.
Importante
Não é possível executar um emulador acelerado por VM dentro de outra VM, como uma VM hospedada pelo VirtualBox, VMware ou Docker (a menos que use WSL2). Execute o Android Emulator diretamente no hardware do sistema.
Para obter informações sobre lançamento e depuração com o Android Emulator, confira Depurando no Android Emulator.
Acelerar com Hyper-V
Antes de habilitar o Hyper-V, leia a seção a seguir para verificar se seu computador tem suporte para ele.
Verificar 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:
- Uma CPU Intel ou AMD Ryzen de 64 bits com SLAT (Conversão de Endereços de Segundo Nível).
- Suporte da CPU para a Extensão do Modo de Monitor de VM (VT-c em CPUs Intel).
- Mínimo de 4 GB de memória.
Na BIOS do computador, os itens a seguir devem estar habilitados:
- Tecnologia de virtualização (pode ter um rótulo diferente dependendo do fabricante da placa-mãe).
- Prevenção de Execução de Dados Baseada em Hardware.
O computador deve estar atualizado para com a atualização do Windows 10 de abril de 2018 (build 1803) ou posterior. Você pode verificar sua versão do Windows está atualizada executando as seguintes etapas:
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:
Habilitar a aceleração do Hyper-V
Se o computador atender aos critérios acima, use as seguintes etapas para acelerar o Android Emulator com o Hyper-V:
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:
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.
Instale o Visual Studio 15.8 ou posterior (esta versão do Visual Studio dá suporte ao IDE para execução do Android Emulator com Hyper-V).
Instale o pacote 27.2.7 ou posterior do Android Emulator. Para instalar este pacote, navegue até Ferramentas > Android > Android SDK Manager no Visual Studio. Selecione a guia Ferramentas e verifique se a versão do Android Emulator é, pelo menos, a 27.2.7. Também verifique se a versão do Android SDK Tools é a 26.1.1 ou posterior:
Ao criar um dispositivo virtual (confira Gerenciando dispositivos virtuais com o Android Device Manager), certifique-se de selecionar uma imagem de sistema baseada em x86. Se você usar uma imagem de sistema baseada em ARM, o dispositivo virtual não será acelerado e será executado lentamente.
O Hyper-V agora deve ser habilitado e você pode executar seu emulador Android acelerado.
Acelerar com HAXM
Se o computador não suportar Hyper-V, poderá utilizar HAXM para acelerar o emulador Android. Você deve desabilitar o Device Guard se quiser usar o HAXM.
Verificar o suporte para HAXM
Para determinar se o hardware dá suporte ao HAXM, siga as etapas em Meu processador dá suporte à Tecnologia de Virtualização da Intel?. Se o hardware der suporte ao HAXM, você poderá verificar se o HAXM já está instalado usando as seguintes etapas:
Abra uma janela de prompt de comando e digite o seguinte comando:
sc query intelhaxm
Examine a saída para ver se o processo HAXM está em execução. Se ele estiver, você deverá ver lista de saída do estado
intelhaxm
comoRUNNING
. Por exemplo:Se
STATE
não estiver definido comoRUNNING
, o HAXM não está instalado.
Se o computador tiver suporte para HAXM, mas o HAXM não estiver instalado, siga as etapas na próxima seção para instalá-lo.
Instalando o HAXM
Os pacotes de instalação do HAXM para Windows estão disponíveis na página de versões do GitHub do Intel Hardware Accelerated Execution Manager . Use as etapas a seguir para baixar e instalar o HAXM:
No site da Intel, baixe a versão mais recente do mecanismo de virtualização do HAXM para o Windows. A vantagem de baixar o instalador do HAXM diretamente do site da Intel é que você pode ter certeza de usar a versão mais recente.
Execute haxm-N.N.N-setup.exe (onde N.N.N é o número da versão) para iniciar o instalador do HAXM. Aceite os valores padrão nas caixas de diálogo do instalador:
Ao criar um dispositivo virtual (confira Gerenciando dispositivos virtuais com o Android Device Manager), certifique-se de selecionar uma imagem de sistema baseada em x86. Se você usar uma imagem de sistema baseada em ARM, o dispositivo virtual não será acelerado e será executado lentamente.
Solução de problemas
Para obter ajuda para solucionar problemas de aceleração de hardware, confira o guia de solução de problemas do Android Emulator.
Acelerar emuladores de Android no macOS
As tecnologias de virtualização a seguir estão disponíveis para acelerar o Android Emulator:
Framework de Hipervisor da Apple. O Hipervisor é um recurso do macOS 10.10 e de versões posteriores que possibilita executar máquinas virtuais em um Mac.
HAXM (Hardware Accelerated Execution Manager) da Intel. O HAXM é um mecanismo de virtualização para computadores que executam CPUs Intel.
Recomendamos usar o Framework de Hipervisor para acelerar o Android Emulator. Se o Framework de Hipervisor não estiver disponível em seu Mac, o HAXM poderá ser usado. A aceleração de hardware será usada automaticamente pelo Android Emulator 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 com base em x86.
Importante
Não é possível executar um emulador acelerado por VM dentro de outra VM, como uma VM hospedada pelo VirtualBox, VMware ou Docker. Execute o Android Emulator diretamente no hardware do sistema.
Para obter informações sobre lançamento e depuração com o Android Emulator, confira Depurando no Android Emulator.
Acelerar o com o Framework de Hipervisor
Para usar o Android Emulator com o Framework de Hipervisor, seu Mac precisa atender aos seguintes critérios:
O Mac precisa estar executando o macOS 10.10 ou posterior.
A CPU do Mac precisa ser capaz de dar suporte ao Framework de Hipervisor.
Caso o Mac atenda a esses critérios, o Android Emulator usará automaticamente o Framework de Hipervisor para aceleração. Se não tiver certeza de que o Framework do Hipervisor tenha suporte em seu Mac, confira o guia de Solução de problemas para ver maneiras de verificar se seu Mac tem suporte para o Hipervisor.
Se o Framework de Hipervisor não tiver suporte em seu Mac, você poderá usar o HAXM para acelerar o Android Emulator (descrito a seguir).
Acelerar com HAXM
Se o Mac não tiver suporte para o Framework de Hipervisor (ou se você estiver usando uma versão do macOS anterior à 10.10), você poderá usar o Hardware Accelerated Execution Manager da Intel (HAXM) para acelerar o Android Emulator.
Para usar o Android Emulator com o HAXM pela primeira vez, verifique se o HAXM está instalado e disponível para uso do Android Emulator.
Verificar o suporte para HAXM
Você pode verificar se o HAXM já está instalado usando as seguintes etapas:
Abra um Terminal e insira o seguinte comando:
~/Library/Developer/Xamarin/android-sdk-macosx/tools/emulator -accel-check
Esse comando presume que o SDK do Android está instalado na localização padrão do ~/Library/Developer/Xamarin/android-sdk-macosx. Se não estiver, modifique o caminho acima para a localização do SDK do Android no Mac.
Se o HAXM estiver instalado, o comando acima retornará uma mensagem com um resultado semelhante ao seguinte:
HAXM version 7.2.0 (3) is installed and usable.
Se o HAXM não estiver instalado, será retornada uma mensagem semelhante à saída a seguir:
HAXM is not installed on this machine (/dev/HAX is missing).
Se HAXM não estiver instalado, siga as etapas na próxima seção para instalá-lo.
Instalando o HAXM
Pacotes de instalação do HAXM para macOS estão disponíveis na página Hardware Accelerated Execution Manager da Intel. Use as etapas a seguir para baixar e instalar o HAXM:
No site da Intel, baixe a versão mais recente do mecanismo de virtualização do HAXM para macOS.
Execute o instalador do HAXM. Aceite os valores padrão nas caixas de diálogo do instalador:
Solução de problemas
Para obter ajuda para solucionar problemas de aceleração de hardware, confira o guia de solução de problemas do Android Emulator.
Links Relacionados
- Run Apps on the Android Emulator (Executar aplicativos no Android Emulator)