O emulador vai ser melhor executado se puder usar o hardware da máquina, como a CPU, a GPU e o modem, em vez de ser executado como um software puro. A capacidade de usar o hardware da sua máquina para melhorar o desempenho é chamada de aceleração de hardware.
O emulador pode usar a aceleração de hardware para melhorar a experiência de duas maneiras principais:
- Aceleração gráfica para melhorar a renderização de telas
- Aceleração de máquina virtual (VM) para melhorar a velocidade de execução
A aceleração de hardware é ativada por padrão na maioria das máquinas. Se ela não está ativada na sua máquina, esta página descreve como configurar a aceleração de elementos gráficos e da máquina virtual (VM) para ter um desempenho melhor do emulador.
Configurar a aceleração gráfica
A aceleração gráfica usa o hardware do computador (geralmente a GPU) para tornar a renderização da tela mais rápida. Os dispositivos Android usam o OpenGL para sistemas incorporados (OpenGL ES ou GLES) para renderizar imagens 2D e 3D na tela.
Ao criar um dispositivo virtual Android (AVD, na sigla em inglês) no AVD Manager, você pode especificar se o emulador vai usar hardware ou software para emular a GPU do AVD. A aceleração de hardware é recomendada e normalmente é mais rápida. No entanto, talvez seja necessário usar a aceleração de software caso o computador use drivers gráficos incompatíveis com o emulador.
Por padrão, o emulador decide entre a aceleração de hardware ou de software com base na configuração do computador. Se o hardware e os drivers da GPU forem compatíveis, o emulador usará a GPU. Caso contrário, o emulador usa aceleração de software, usando a CPU do seu computador, para simular o processamento da GPU.
Se você iniciar o emulador pela linha de comando, também poderá substituir a configuração de aceleração gráfica no AVD por essa instância de dispositivo virtual.
Requisitos
Para usar a aceleração gráfica, seu ambiente de desenvolvimento precisa ter o seguinte:
- Ferramentas do SDK: a última versão é recomendada (versão 17 no mínimo).
- Plataforma do SDK: a última versão é recomendada (Android 4.0.3, Revisão 3, no mínimo).
Configurar a aceleração gráfica no AVD Manager
Para configurar a aceleração gráfica para um AVD, siga estas etapas:
- Abra o AVD Manager.
- Crie um novo AVD ou edite um AVD existente.
- Na janela Verify Configuration, encontre a seção Emulated Performance.
- Selecione um valor para a opção Graphics:.
- Clique em Finish.
Configurar a aceleração gráfica na linha de comando
Para especificar um tipo de aceleração gráfica ao executar um AVD na linha de
comando, inclua a opção -gpu
, como mostrado no exemplo a seguir:
emulator -avd avd_name -gpu mode [{-option [value]} ... ]
O valor de mode
pode ser definido como uma das seguintes
opções:
auto
: permite que o emulador escolha entre a aceleração gráfica de hardware ou de software com base na configuração do computador.host
: usa a GPU do computador para aceleração de hardware. Geralmente, essa opção proporciona a melhor qualidade gráfica e desempenho para o emulador. No entanto, se os drivers gráficos apresentarem problemas durante a renderização com o OpenGL, talvez seja necessário usar as opçõesswiftshader_indirect
ouangle_indirect
.swiftshader_indirect
: usa uma variante compatível de inicialização rápida do SwiftShader para renderizar gráficos usando a aceleração de software. Essa opção é uma boa alternativa para o modohost
quando o computador não pode usar a aceleração de hardware.angle_indirect
: (somente para Windows) usa uma variante compatível com Quick Boot de ANGLE Direct3D para renderizar gráficos usando a aceleração de software. Essa opção é uma boa alternativa para o modohost
quando o computador não pode usar a aceleração de hardware. Na maioria dos casos, o desempenho do ANGLE é semelhante ao uso do modohost
, porque o ANGLE usa o Microsoft DirectX em vez do OpenGL.No Windows, os drivers do Microsoft DirectX geralmente apresentam menos problemas que os drivers do OpenGL. Essa opção usa o Direct3D 11 e requer o Windows 10, Windows 8.1 ou Windows 7 SP1 com a Atualização da Plataforma para o Windows 7.
guest
: usa a renderização de software do lado do convidado. Essa opção oferece a menor qualidade gráfica e desempenho para o emulador.
As seguintes opções mode
estão desativadas:
swiftshader
: uso descontinuado na versão 27.0.2. Useswiftshader_indirect
.angle
: uso descontinuado na versão 27.0.2. Em vez disso, useangle_indirect
(somente para Windows).mesa
: uso descontinuado na versão 25.3. Useswiftshader_indirect
.
Ativar renderização com o Skia para a IU Android
Ao usar imagens para API de nível 27 ou mais recente, o emulador pode renderizar a IU Android com o Skia (link em inglês). O Skia ajuda o emulador a renderizar elementos gráficos com mais facilidade e eficiência.
Para ativar a renderização com Skia, use os seguintes comandos no shell adb
:
su
setprop debug.hwui.renderer skiagl
stop
start
Configurar a aceleração de VM
A aceleração de VM usa o processador do computador para melhorar significativamente a velocidade de execução do emulador. Uma ferramenta denominada hipervisor gerencia essa interação usando extensões de virtualização oferecidas pelo processador do computador. Esta seção descreve os requisitos para o uso da aceleração de VM e também explica como configurá-la em cada sistema operacional.
Requisitos gerais
Para usar a aceleração de VM com o emulador, seu computador precisa atender aos requisitos gerais desta seção. O computador também precisa atender a outros requisitos específicos do sistema operacional.
Requisitos do ambiente de desenvolvimento
Para usar a aceleração de VM, seu ambiente de desenvolvimento precisa atender aos seguintes requisitos:
- Ferramentas do SDK: mínimo da versão 17. A versão recomendada é a 26.1.1 ou mais recente.
AVD: a versão necessária do Android está descrita na tabela a seguir.
Arquitetura de CPU Requisito de imagem do sistema X86_64 Imagens do sistema x86 ou x86_64 para o Android 2.3.3 (nível 10 da API) e mais recentes. ARM64 Imagens do sistema arm64-v8a para o Android 5.0 (nível 21 da API) e mais recentes.
Requisitos de extensão de virtualização
Além dos requisitos do ambiente de desenvolvimento, o processador do computador precisa oferecer suporte a extensões de virtualização. Confira os processadores com suporte:
- Processadores Intel com tecnologia de virtualização Intel (VT-x, vmx), como Processadores Intel Core iX e Intel Core Ultra
- Processadores AMD com AMD-V (SVM), como processadores AMD Ryzen
- Apple Silicon
Outros requisitos para processadores Intel e AMD:
A tradução de endereços de segundo nível (Intel EPT ou AMD RVI) é necessária para processadores Intel e AMD. A maioria dos processadores Intel e AMD modernos oferecem suporte à tradução de endereços de segundo nível. Os únicos processadores Intel ou AMD com extensões de virtualização que podem não oferecer tradução de páginas de segundo nível são da primeira geração.
Caso você não saiba se o processador oferece suporte às extensões necessárias, confira as especificações do processador no site do fabricante. Se o processador não oferecer suporte a essas extensões, não será possível usar a aceleração de VM.
Restrições
A aceleração de VM tem as seguintes restrições:
- Não é possível executar um emulador acelerado por VM dentro de outra VM, como uma VM hospedada pelo VirtualBox, VMWare ou Docker. Execute um emulador acelerado por VM diretamente no computador host.
- Dependendo do sistema operacional e do hipervisor, não é possível executar um software que use outra tecnologia de virtualização ao mesmo tempo que um emulador acelerado por VM. Exemplos desse tipo de software incluem, entre outros, soluções de máquina virtual, determinados programas antivírus e algumas soluções contra golpes. A situação é observada principalmente no Windows com o Hyper-V desativado. A maioria desses softwares pode coexistir com o Android Emulator sem nenhum problema. No entanto, quando ocorrem conflitos, é recomendável não executar o emulador acelerado por VM ao mesmo tempo que esse software.
Sobre hipervisores
A aceleração de VM requer um hipervisor, uma ferramenta que usa extensões de virtualização fornecidas pelo processador do computador.
Sem um hipervisor e a aceleração de VM, o emulador precisa traduzir o código de máquina da VM bloco por bloco para se adequar à arquitetura do computador host. Esse processo pode ser bastante lento. Com um hipervisor, quando a VM e a arquitetura do computador host correspondem, o emulador pode executar o código diretamente no processador host usando o hipervisor. Essa melhoria aumenta significativamente a velocidade e o desempenho do emulador.
O hipervisor que funciona melhor para você depende do sistema operacional e da configuração do seu computador. Para saber mais, consulte uma das seções a seguir:
- Configurar a aceleração de VM no Windows
- Configurar a aceleração de VM no macOS
- Configurar a aceleração de VM no Linux
Conferir se há um hipervisor instalado
Você pode usar a opção de linha de comando -accel-check
do emulador para conferir se
um hipervisor está instalado no computador.
Os exemplos a seguir mostram como usar a opção accel-check
do emulador. Em
cada exemplo, Sdk
é o local do SDK do Android:
Windows:
c:\Users\janedoe\AppData\Local\Android> Sdk\emulator\emulator -accel-check accel: 0 AEHD (version 2.2) is installed and usable. accelHá várias opções de hipervisor no Windows. O que aparecer para você pode ser diferente do nosso exemplo. Por exemplo, você pode ver um dos seguintes palavras-chave na mensagem: GVM(nome anterior do AEHD), WHPX.
MacOS:
janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check accel: 0 Hypervisor.Framework OS X Version 13.2 accel
No Linux, siga estas etapas:
janedoe:~/Android$ ./Sdk/emulator/emulator -accel-check accel: 0 KVM (version 12) is installed and usable.
Configurar a aceleração de VM no Windows
A aceleração de VM no Windows pode usar um destes dois hipervisores:
- A plataforma de hipervisor do Windows (WHPX, na sigla em inglês)
- O driver do hipervisor do Android Emulator (AEHD, na sigla em inglês)
Escolher um hipervisor no Windows
Esta seção mostra os critérios para determinar qual hipervisor usar. O processo de configuração da aceleração de VM usando cada hipervisor é descrito nas seções a seguir.
Critérios | Hipervisor |
---|---|
É necessário executar o Hyper-V ao mesmo tempo que o Android Emulator. | Use WHPX. |
Não é necessário executar o Hyper-V ao mesmo tempo que o Android Emulator. | Use o driver do hipervisor do Android Emulator. |
Configurar a aceleração de VM usando a Plataforma de Hipervisor do Windows
Antes de ativar o WHPX, seu computador precisa atender aos seguintes requisitos:
- Processadores Intel: suporte a recursos de Tecnologia de virtualização (VT-x), Tabelas de páginas estendidas (EPT, na sigla em inglês) e Unrestricted Guest (UG). A VT-x precisa estar ativada nas configurações do BIOS de computador.
- Processadores AMD: o processador AMD Ryzen é recomendado. A virtualização ou o SVM precisa estar ativado nas configurações do BIOS do computador.
- Android Studio 3.2 Beta 1 ou mais recente
- Android Emulator versão 27.3.8 ou mais recente
- Windows 10 ou mais recente
Para instalar o WHPX no Windows, siga estas etapas:
- Na área de trabalho do Windows, clique com o botão direito no ícone do Windows e selecione Apps and features.
- Em Related settings, clique em Programs and Features.
- Clique em Turns Windows Features on or off.
Selecione Windows Hypervisor Platform.
Clique em OK.
Quando a instalação terminar, reinicie o computador.
Configurar a aceleração de VM usando o driver hipervisor do Android Emulator (AEHD, na sigla em inglês) no Windows
Antes de instalar e usar o driver do hipervisor do Android Emulator, seu computador precisa atender aos seguintes requisitos:
- Processadores Intel ou AMD com extensão de virtualização
Windows 11 ou Windows 10 de 64 bits (o Windows de 32 bits não é suportado)
Usuários do Windows 8.1, Windows 8 e Windows 7 podem continuar usando o AEHD 1.7 ou inferior. No entanto, não haverá suporte para essas situações.
O Hyper-V precisa estar desativado na caixa de diálogo "Recursos do Windows".
Alguns componentes do Windows podem ativar o hipervisor Hyper-V sem Ativar o Hyper-V na caixa de diálogo "Recursos do Windows", como Isolamento de núcleos. oferecidos pelo Windows Defender. Nesses casos, use WHPX como alternativa.
Em processadores AMD, o driver do hipervisor do Android Emulator pode ser instalado usando o SDK Manager no Android Studio 4.0 Canary 5 ou mais recente.
Em processadores Intel, o driver do hipervisor do Android Emulator pode ser instalado usando o SDK Manager no Android Studio Flamingo ou mais recente.
Para instalar no SDK Manager, siga estas etapas:
- Selecione Tools> SDK Manager.
- Clique na guia SDK Tools e selecione Android Emulator hypervisor driver.
- Clique em OK para fazer o download e instalar o driver do hipervisor do Android Emulator.
Após a instalação, confirme se o driver está funcionando corretamente usando o seguinte comando:
AEHD 2.1 e mais recentes
sc query aehd
Uma mensagem de status inclui as seguintes informações:
SERVICE_NAME: aehd ... STATE : 4 RUNNING ...
A mensagem de erro a seguir significa que a extensão de visualizações não está ativada no seu BIOS ou que o Hyper-V não está desativado:
SERVICE_NAME: aehd ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
AEHD 2.0 e versões anteriores
sc query gvm
Uma mensagem de status inclui as seguintes informações:
SERVICE_NAME: gvm ... STATE : 4 RUNNING ...
A mensagem de erro a seguir significa que a extensão de visualizações não está ativada no seu BIOS ou que o Hyper-V não está desativado:
SERVICE_NAME: gvm ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
Também é possível fazer o download e instalar o driver do hipervisor do Android Emulator no
GitHub (em inglês).
Depois de descompactar o pacote do driver, execute silent_install.bat
em uma linha de comando
com privilégios de administrador.
Desinstale o driver do hipervisor do Android Emulator usando estes comandos em uma linha de comando com privilégios de administrador:
AEHD 2.1 e mais recentes
sc stop aehd
sc delete aehd
AEHD 2.0 e versões anteriores
sc stop gvm
sc delete gvm
Configurar a aceleração de VM no macOS
No macOS, o Android Emulator usa o Hypervisor.Framework, que requer o macOS v10.10 (Yosemite) ou mais recente. No entanto, o Android Studio pode exigir uma versão superior para o macOS. Nesses casos, siga as instruções Requisitos de sistema do Studio.
Configurar a aceleração de VM no Linux
Sistemas Linux oferecem suporte à aceleração de VMs pelo pacote de software KVM (em inglês). Siga as instruções para instalar a KVM no sistema Linux e verifique se a KVM está ativada. Para sistemas Ubuntu, consulte Instalação do KVM no Ubuntu (em inglês).
Requisitos
A execução da KVM requer permissões de usuário específicas. Verifique se você tem permissões suficientes conforme especificado nas instruções de instalação da KVM.
Para usar a aceleração de VM no Linux, o computador também precisa atender a estes requisitos:
- Para processadores Intel: suporte à Tecnologia de virtualização (VT-x), recursos Intel EM64T (Intel 64) e a funcionalidade Bit de desativação de execução (Bit XD) ativada.
- Para processadores AMD: compatibilidade com AMD Virtualization (AMD-V).
Verificar se a KVM está instalada no Linux
Você pode usar a opção de linha de comando do
emulador -accel-check
para verificar se a KVM está instalada. Como alternativa, é possível instalar o pacote cpu-checker
que contém o comando kvm-ok
.
O exemplo a seguir mostra como usar o comando kvm-ok
:
Instale o pacote
cpu-checker
:sudo apt-get install cpu-checker egrep -c '(vmx|svm)' /proc/cpuinfo
Uma saída de 1 ou mais significa que há suporte para virtualização. Uma saída de 0 significa que a CPU não oferece suporte à virtualização de hardware.
Execute o comando
kvm-ok
:sudo kvm-ok
Saída esperada:
INFO: /dev/kvm exists KVM acceleration can be used
Se você vir o erro a seguir, isso significa que ainda pode executar máquinas virtuais. No entanto, sua máquina virtual fica mais lenta sem as extensões KVM.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
Instalar a KVM no Linux
Use o comando a seguir para instalar a KVM:
Cosmic (18.10) ou mais recente:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Lucid (10.04) ou mais recente:
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) ou anterior:
sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
Guia para desinstalação do Intel HAXM
O HAXM foi descontinuado no emulador 33.x.x.x, já que a Intel desativou o desenvolvimento dele. O driver do hipervisor do Android Emulator (AEHD, na sigla em inglês) substitui o Intel HAXM em processadores Intel.
Recomendamos remover completamente o Intel HAXM do sistema Windows. a menos que você tenha outro software instalado que dependa do HAXM para manter o Intel HAXM e gerenciá-lo por conta própria.
Para desinstalar o Intel HAXM, siga estas etapas:
Verificar se o Intel HAXM está instalado
Para determinar se o Intel HAXM está instalado no seu sistema Windows, abra um Console de comando do Windows e execute o seguinte comando:
sc query intelhaxm
Se o Intel HAXM estiver instalado e em execução, você verá a seguinte mensagem:
na resposta ao comando.
Se o Intel HAXM estiver instalado, mas desativado, você verá a seguinte mensagem:
na resposta ao comando.
Em ambos os casos, independentemente de o Intel HAXM estarem em execução ou desativados, instalado. Acesse a próxima etapa para continuar a desinstalação da Intel ao HAXM.
Se o Intel HAXM não estiver instalado, você verá a mensagem a seguir.
Desinstalar o Intel HAXM usando o SDK Manager do Android Studio
Abra o SDK Manager no Android Studio e acesse "SDK Tools" Tab e depois
navegue até "Intel x86 Emulator Accelerator (instalador do HAXM) - Obsoleto"
linha Ele vai ficar parecido com a captura de tela abaixo.
Desmarque a caixa de seleção, como mostra a captura de tela a seguir.
Clique em "Aplicar". e a seguinte caixa de diálogo vai aparecer.
Quando o Intel HAXM for desinstalado com sucesso, você verá o seguinte.
A desinstalação foi concluída, e você pode parar aqui.
Se houver algum erro, siga para a próxima etapa.
Desinstale o Intel HAXM usando as configurações do Windows.
Abra as "Configurações" do Windows. e vá até "Aplicativos > Apps instalados".
Localize o "Intel Hardware Accelerated Execution Manager" inserir e clicar
"Desinstalar", conforme mostrado na captura de tela a seguir.
O desinstalador do Intel HAXM será executado e informará o resultado. Se o Se a desinstalação for concluída, acesse Excluir o pacote de instalação do Intel HAXM (link em inglês). Caso contrário, siga para a próxima etapa.
Desinstalar usando a linha de comando
Para interromper o serviço Intel HAXM, execute "sc stop intelhaxm". Aparecerá seguinte saída.
Exclua o serviço Intel HAXM executando "sc delete intelhaxm". Aparecerá na saída a seguir.
Acesse Excluir pacote de instalação do Intel HAXM (link em inglês).
Excluir o pacote de instalação do Intel HAXM.
Esta etapa só é necessária ao desinstalar o Intel HAXM usando as "configurações" do Windows. ou linha de comando. Sem essa etapa, o SDK Manager do Android Studio pode continuar listando o Intel HAXM como "Instalado".
O pacote instalador está localizado em <Sua pasta do SDK do Android>\extras\intel.
Por padrão, o Android SDK será instalado em "C:\Users\<Seu ID de usuário do Windows
>\AppData\Local\Android\Sdk". Confira o exemplo na captura de tela a seguir.