Aceleração de hardware para o desempenho do emulador (Hyper-V e HAXM)Hardware acceleration for emulator performance (Hyper-V & HAXM)

Este artigo explica como usar os recursos de aceleração de hardware do computador para maximizar o desempenho do Android Emulator.This article explains how to use your computer's hardware acceleration features to maximize Android Emulator performance.

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.Visual Studio makes it easier for developers to test and debug their Xamarin.Android applications by using the Android emulator in situations where an Android device is unavailable or impractical. 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.However, the Android emulator runs too slowly if hardware acceleration is not available on the computer that runs it. 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.You can drastically improve the performance of the Android emulator by using special x86 virtual device images in conjunction with the virtualization features of your computer.

Acelerar emuladores de Android no WindowsAccelerating Android emulators on Windows

As tecnologias de virtualização a seguir estão disponíveis para acelerar o Android Emulator:The following virtualization technologies are available for accelerating the Android emulator:

  1. O Hyper-V e a Plataforma de Hipervisor da Microsoft.Microsoft's Hyper-V and the Hypervisor Platform. 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.Hyper-V is a virtualization feature of Windows that makes it possible to run virtualized computer systems on a physical host computer.

  2. HAXM (Hardware Accelerated Execution Manager) da Intel.Intel's Hardware Accelerated Execution Manager (HAXM). O HAXM é um mecanismo de virtualização para computadores que executam CPUs Intel.HAXM is a virtualization engine for computers running Intel CPUs.

Para atingir o desempenho ideal, é recomendável que você use o Hyper-V para acelerar o Android Emulator.For optimum performance, it is recommended that you use Hyper-V to accelerate the Android emulator. Se o Hyper-V não estiver disponível em seu computador, o HAXM poderá ser usado.If Hyper-V is not available on your computer, then HAXM can be used. A aceleração de hardware será usada automaticamente pelo Android Emulator se os seguintes critérios forem atendidos:The Android emulator will automatically make use of hardware acceleration if the following criteria are met:

  • A aceleração de hardware está disponível e habilitada no computador de desenvolvimento.Hardware acceleration is available and enabled on your development computer.

  • O emulador está executando uma imagem do sistema criada para um dispositivo virtual com base em x86.The emulator is running a system image created for an x86-based virtual device.

Importante

Não é possível executar um emulador acelerado por VM dentro de outra VM, como uma VM hospedada por VirtualBox, VMWare ou Docker.You can't run a VM-accelerated emulator inside another VM, such as a VM hosted by VirtualBox, VMWare, or Docker. Execute o Android Emulator diretamente no hardware do sistema.You must run the Android emulator directly on your system hardware.

Para obter informações sobre lançamento e depuração com o Android Emulator, confira Depurando no Android Emulator.For information about launching and debugging with the Android emulator, see Debugging on the Android Emulator.

Acelerar com Hyper-VAccelerating with Hyper-V

O Hyper-V é a opção recomendada para acelerar o Android Emulator.Hyper-V is the recommended choice for accelerating the Android emulator. Antes de habilitar o Hyper-V, leia a seção a seguir para verificar se seu computador tem suporte para ele.Before enabling Hyper-V, read the following section to verify that your computer supports Hyper-V.

Verificar o suporte para Hyper-VVerifying support for Hyper-V

O Hyper-V é executado na Plataforma de Hipervisor do Windows.Hyper-V runs on the Windows Hypervisor Platform. 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:To use the Android emulator with Hyper-V, your computer must meet the following criteria to support the Windows Hypervisor Platform:

  • O hardware do computador deve atender aos seguintes requisitos:Your computer hardware must meet the following requirements:

    • Uma CPU Intel ou AMD Ryzen de 64 bits com SLAT (Conversão de Endereços de Segundo Nível).A 64-bit Intel or AMD Ryzen CPU with Second Level Address Translation (SLAT).
    • Suporte de CPU para a extensão do modo de monitor da VM (VT-c em CPUs Intel).CPU support for VM Monitor Mode Extension (VT-c on Intel CPUs).
    • Mínimo de 4 GB de memória.Minimum of 4-GB memory.
  • Na BIOS do computador, os itens a seguir devem estar habilitados:In your computer's BIOS, the following items must be enabled:

    • Tecnologia de virtualização (pode ter um rótulo diferente dependendo do fabricante da placa-mãe).Virtualization Technology (may have a different label depending on motherboard manufacturer).
    • Prevenção de Execução de Dados Baseada em Hardware.Hardware Enforced Data Execution Prevention.
  • O computador deve estar atualizado para com a atualização do Windows 10 de abril de 2018 (build 1803) ou posterior.Your computer must be updated to Windows 10 April 2018 update (build 1803) or later. Você pode verificar sua versão do Windows está atualizada executando as seguintes etapas:You can verify that your Windows version is up-to-date by using the following steps:

    1. Na caixa de pesquisa do Windows, digite Sobre.Enter About in the Windows search box.

    2. Selecione Sobre seu PC nos resultados da pesquisa.Select About your PC in the search results.

    3. Role a caixa de diálogo Sobre para baixo até a seção Especificações do Windows.Scroll down in the About dialog to the Windows specifications section.

    4. Verifique se a versão é, pelo menos, a 1803:Verify that the Version is at least 1803:

      Especificações do WindowsWindows specifications

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:To verify that your computer hardware and software is compatible with Hyper-V, open a command prompt and type the following command:

systeminfo

Se todos os requisitos listados do Hyper-V tiverem um valor de Sim, o computador poderá dar suporte a Hyper-V.If all listed Hyper-V requirements have a value of Yes, then your computer can support Hyper-V. Por exemplo:For example:

Exemplo de saída de systeminfoExample systeminfo output

Habilitar a aceleração do Hyper-VEnabling Hyper-V acceleration

Se o computador atender aos critérios acima, use as seguintes etapas para acelerar o Android Emulator com o Hyper-V:If your computer meets the above criteria, use the following steps to accelerate the Android emulator with 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.Enter windows features in the Windows search box and select Turn Windows features on or off in the search results. Na caixa de diálogo Recursos do Windows, habilite Hyper-V e Plataforma de Hipervisor do Windows:In the Windows Features dialog, enable both Hyper-V and Windows Hypervisor Platform:

    Habilitar o Hyper-V e a Plataforma de Hipervisor do WindowsEnabling Hyper-V and Windows Hypervisor Platform

    Depois de fazer essas alterações, reinicie o computador.After making these changes, reboot your computer.

  2. 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).Install Visual Studio 15.8 or later (this version of Visual Studio provides IDE support for running the Android emulator with Hyper-V).

  3. Instale o pacote 27.2.7 ou posterior do Android Emulator.Install the Android Emulator package 27.2.7 or later. Para instalar este pacote, navegue até Ferramentas > Android > Gerenciador de SDK do Android no Visual Studio.To install this package, navigate to Tools > Android > Android SDK Manager in Visual Studio. Selecione a guia Ferramentas e verifique se a versão do Android Emulator é, pelo menos, a 27.2.7.Select the Tools tab and ensure that the Android emulator version is at least 27.2.7. Também verifique se a versão do Android SDK Tools é a 26.1.1 ou posterior:Also ensure that the Android SDK Tools version is 26.1.1 or later:

    Caixa de diálogo SDKs e Ferramentas do AndroidAndroid SDKs and Tools dialog

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.When you create a virtual device (see Managing Virtual Devices with the Android Device Manager), be sure to select an x86-based system image. Se você usar uma imagem de sistema baseada em ARM, o dispositivo virtual não será acelerado e será executado lentamente.If you use an ARM-based system image, the virtual device will not be accelerated and will run slowly.

Acelerar com HAXMAccelerating with HAXM

Use o HAXM para acelerar o Android Emulator se o computador não tiver suporte para Hyper-V.Use HAXM to accelerate the Android emulator if your computer does not support Hyper-V. Você deve desabilitar o Device Guard se quiser usar o HAXM.You must disable Device Guard if you want to use HAXM.

Verificar o suporte para HAXMVerifying HAXM support

Para determinar se o hardware dá suporte ao HAXM, siga as etapas em Meu processador dá suporte à Tecnologia de Virtualização da Intel?.To determine if your hardware supports HAXM, follow the steps in Does My Processor Support Intel Virtualization Technology?. Se o hardware der suporte ao HAXM, você poderá verificar se o HAXM já está instalado usando as seguintes etapas:If your hardware supports HAXM, you can check to see if HAXM is already installed by using the following steps:

  1. Abra uma janela de prompt de comando e digite o seguinte comando:Open a command prompt window and enter the following command:

    sc query intelhaxm
    
  2. Examine a saída para ver se o processo HAXM está em execução.Examine the output to see if the HAXM process is running. Se ele estiver, você deverá ver lista de saída do estado intelhaxm como RUNNING.if it is, you should see output listing the intelhaxm state as RUNNING. Por exemplo:For example:

    Saída do comando de consulta de sc quando o HAXM está disponível

    Se STATE não estiver definido como RUNNING, o HAXM não está instalado.If STATE is not set to RUNNING, then HAXM is not installed.

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.If your computer can support HAXM but HAXM is not installed, use the steps in the next section to install HAXM.

Instalando o HAXMInstalling HAXM

Pacotes de instalação do HAXM para Windows estão disponíveis na página Intel Hardware Accelerated Execution Manager.HAXM install packages for Windows are available from the Intel Hardware Accelerated Execution Manager page. Use as etapas a seguir para baixar e instalar o HAXM:Use the following steps to download and install HAXM:

  1. No site da Intel, baixe a versão mais recente do mecanismo de virtualização do HAXM para Windows.From the Intel website, download the latest HAXM virtualization engine installer for Windows. A vantagem de baixar o instalador do HAXM diretamente do site da Intel é a segurança de que você está usando a versão mais recente.The advantage of downloading the HAXM installer directly from the Intel website is that you can be assured of using the latest version.

  2. Execute o arquivo intelhaxm-android.exe para iniciar o instalador do HAXM.Run intelhaxm-android.exe to start the HAXM installer. Aceite os valores padrão nas caixas de diálogo do instalador:Accept the default values in the installer dialogs:

    Janela de instalação do Intel Hardware Accelerated Execution Manager

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.When you create a virtual device (see Managing Virtual Devices with the Android Device Manager), be sure to select an x86-based system image. Se você usar uma imagem de sistema baseada em ARM, o dispositivo virtual não será acelerado e será executado lentamente.If you use an ARM-based system image, the virtual device will not be accelerated and will run slowly.

Solução de problemasTroubleshooting

Para obter ajuda para solucionar problemas de aceleração de hardware, confira o guia de solução de problemas do Android Emulator.For help with troubleshooting hardware acceleration issues, see the Android emulator Troubleshooting guide.

Acelerar emuladores de Android no macOSAccelerating Android emulators on macOS

As tecnologias de virtualização a seguir estão disponíveis para acelerar o Android Emulator:The following virtualization technologies are available for accelerating the Android emulator:

  1. Framework de Hipervisor da Apple.Apple's Hypervisor Framework. O Hipervisor é um recurso do macOS 10.10 e de versões posteriores que possibilita executar máquinas virtuais em um Mac.Hypervisor is a feature of macOS 10.10 and later that makes it possible to run virtual machines on a Mac.

  2. HAXM (Hardware Accelerated Execution Manager) da Intel.Intel's Hardware Accelerated Execution Manager (HAXM). O HAXM é um mecanismo de virtualização para computadores que executam CPUs Intel.HAXM is a virtualization engine for computers running Intel CPUs.

Para atingir o desempenho ideal, é recomendável que você use o Framework de Hipervisor para acelerar o Android Emulator.For optimum performance, it is recommended that you use the Hypervisor Framework to accelerate the Android emulator. Se o Framework de Hipervisor não estiver disponível em seu Mac, o HAXM poderá ser usado.If the Hypervisor Framework is not available on your Mac, then HAXM can be used. A aceleração de hardware será usada automaticamente pelo Android Emulator se os seguintes critérios forem atendidos:The Android emulator will automatically make use of hardware acceleration if the following criteria are met:

  • A aceleração de hardware está disponível e habilitada no computador de desenvolvimento.Hardware acceleration is available and enabled on the development computer.

  • O emulador está executando uma imagem do sistema criada para um dispositivo virtual com base em x86.The emulator is running a system image created for an x86-based virtual device.

Importante

Não é possível executar um emulador acelerado por VM dentro de outra VM, como uma VM hospedada por VirtualBox, VMWare ou Docker.You can't run a VM-accelerated emulator inside another VM, such as a VM hosted by VirtualBox, VMWare, or Docker. Execute o Android Emulator diretamente no hardware do sistema.You must run the Android emulator directly on your system hardware.

Para obter informações sobre lançamento e depuração com o Android Emulator, confira Depurando no Android Emulator.For information about launching and debugging with the Android emulator, see Debugging on the Android Emulator.

Acelerar o com o Framework de HipervisorAccelerating with the Hypervisor Framework

Para usar o Android Emulator com o Framework de Hipervisor, seu Mac precisa atender aos seguintes critérios:To use the Android emulator with the Hypervisor Framework, your Mac must meet the following criteria:

  • O Mac precisa estar executando o macOS 10.10 ou posterior.Your Mac must be running macOS 10.10 or later.

  • A CPU do Mac precisa ser capaz de dar suporte ao Framework de Hipervisor.Your Mac's CPU must be able to support the Hypervisor Framework.

Se o Mac atender a esses critérios, o Android Emulator usará automaticamente o Framework de Hipervisor para aceleração (mesmo que o HAXM esteja instalado).If your Mac meets these criteria, the Android emulator will automatically use the Hypervisor Framework for acceleration (even if HAXM is installed). 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.If you are not sure if Hypervisor Framework is supported on your Mac, see the Troubleshooting guide for ways to verify that your Mac supports Hypervisor.

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).If the Hypervisor Framework is not supported by your Mac, you can use HAXM to accelerate the Android emulator (described next).

Acelerar com HAXMAccelerating with 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.If your Mac does not support the Hypervisor framework (or you are using a version of macOS earlier than 10.10), you can use Intel's Hardware Accelerated Execution Manager (HAXM) to speed up the 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.Before using the Android emulator with HAXM for the first time, it's a good idea to verify that HAXM is installed and available for the Android emulator to use.

Verificar o suporte para HAXMVerifying HAXM support

Você pode verificar se o HAXM já está instalado usando as seguintes etapas:You can check to see if HAXM is already installed by using the following steps:

  1. Abra um Terminal e insira o seguinte comando:Open a Terminal and enter the following command:

    ~/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.This command assumes that the Android SDK is installed at the default location of ~/Library/Developer/Xamarin/android-sdk-macosx; if not, modify the above path for the location of the Android SDK on your Mac.

  2. Se o HAXM estiver instalado, o comando acima retornará uma mensagem com um resultado semelhante ao seguinte:If HAXM is installed, the above command will return a message similar to the following result:

    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:If HAXM is not installed, a message similar to the following output is returned:

    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.If HAXM is not installed, use the steps in the next section to install HAXM.

Instalando o HAXMInstalling HAXM

Pacotes de instalação do HAXM para macOS estão disponíveis na página Hardware Accelerated Execution Manager da Intel.HAXM installation packages for macOS are available from the Intel Hardware Accelerated Execution Manager page. Use as etapas a seguir para baixar e instalar o HAXM:Use the following steps to download and install HAXM:

  1. No site da Intel, baixe a versão mais recente do mecanismo de virtualização do HAXM para macOS.From the Intel website, download the latest HAXM virtualization engine installer for macOS.

  2. Execute o instalador do HAXM.Run the HAXM installer. Aceite os valores padrão nas caixas de diálogo do instalador:Accept the default values in the installer dialogs:

    Janela de instalação do Intel Hardware Accelerated Execution ManagerIntel Hardware Accelerated Execution Manager Setup window

Solução de problemasTroubleshooting

Para obter ajuda para solucionar problemas de aceleração de hardware, confira o guia de solução de problemas do Android Emulator.For help with troubleshooting hardware acceleration issues, see the Android emulator Troubleshooting guide.