Resolver problemas conhecidos com o Android Emulator

Esta página lista problemas conhecidos, soluções alternativas e dicas de solução de problemas para o Android Emulator. Se você encontrar um problema não listado aqui ou não conseguir usar uma destas soluções alternativas, informe um bug.

Problemas gerais


Conferir se há espaço suficiente em disco

Para evitar falhas e travamentos causados pela falta de espaço livre em disco, o emulador verifica se há espaço suficiente na inicialização e não inicia quando não há pelo menos 5 GB livres. Se ele não for iniciado, confira se você tem o espaço livre necessário em disco.

Software antivírus

Como muitos pacotes de software de segurança e antivírus monitoram todas as operações de leitura e gravação, o uso desses softwares pode diminuir a performance de ferramentas como o Android Emulator.

Muitos pacotes antivírus incluem o recurso de adicionar aplicativos específicos a uma lista de apps confiáveis, o que permite que eles funcionem sem prejudicar a performance. Caso o app apresente uma performance ruim ao salvar ou carregar snapshots do AVD, adicione o Android Emulator como um aplicativo confiável no software antivírus para tentar proporcionar uma melhora.

A maneira como a performance é afetada difere entre os vários pacotes de software antivírus existentes. Se houver outro software antivírus instalado, além do que está incluído no seu sistema operacional, é possível executar testes simples para determinar qual antivírus causa maior efeito sobre a performance das operações de carregamento e salvamento do emulador.

Alguns softwares antivírus podem ser incompatíveis com o Android Emulator.

Se você estiver usando o Avast e enfrentar problemas para executar o Android Emulator, desative as opções Usar virtualização aninhada quando disponível e Habilitar a virtualização assistida por hardware nas configurações de Solução de problemas do software. Além disso, depois de desativar a virtualização por hardware no Avast, verifique mais uma vez se o HAXM está configurado corretamente com a reinstalação completa do HAXM mais recente pelo SDK Manager.

No Windows, às vezes o AVD congela com o HAXM, e o problema pode ser resolvido desinstalando completamente o McAfee.

Windows: liberar RAM e carga de confirmação

Quando o emulador é iniciado, ele precisa inicializar a RAM do sistema operacional convidado do Android. No Windows, o emulador solicita que o sistema considere o tamanho total da memória do convidado na inicialização, mesmo que a memória possa ser paginada sob demanda durante a operação real. O emulador solicita a quantidade total de memória do convidado na inicialização porque o Windows prefere garantir que haja espaço suficiente disponível na RAM física e no arquivo de paginação para receber todo o conjunto de trabalho em potencial. Esse procedimento serve como preparação para a pior das hipóteses, em que toda a memória do convidado é tocada rapidamente, sem nenhuma oportunidade de descarte ou liberação da memória.

Às vezes, quando o emulador solicita que o Windows contabilize o tamanho total da memória de convidado, a solicitação excede o limite de confirmação atual, que é o total da RAM física e do arquivo de paginação disponíveis. Nesse caso, o Windows não pode garantir que o conjunto de trabalhos caiba na RAM física ou no arquivo de paginação na pior das hipóteses e, portanto, o emulador falha ao iniciar.

Em casos típicos, a quantidade de espaço no disco rígido alocada para o arquivo de paginação mais a RAM física é mais do que suficiente para a maioria dos casos de uso do emulador. No entanto, se você tiver falhas ao iniciar o emulador por exceder o limite de confirmação, recomendamos examinar a carga de confirmação atual, que pode ser vista na guia Desempenho no Gerenciador de Tarefas do Windows. Para abrir o gerenciador de tarefas, pressione Ctrl+Shift+Esc.

É possível diminuir a probabilidade de exceder o limite de confirmação de várias maneiras:

  • Libere RAM física antes de iniciar o emulador, fechando aplicativos e arquivos não utilizados.
  • Desative os utilitários de gerenciamento e compactação de memória de terceiros. Esses utilitários podem causar de maneira ineficiente uma carga de confirmação excessiva e aproximar seu sistema do limite de confirmação.
  • Use um tamanho gerenciado pelo sistema para o arquivo de paginação do Windows. Assim, esse arquivo pode aumentar de forma mais flexível e dinâmica e, consequentemente, o limite de confirmação também pode aumentar em resposta à maior demanda do emulador e de outros apps.

    Para ter mais informações sobre cargas de confirmação e por que uma configuração flexível funciona melhor, consulte este artigo da Microsoft (em inglês).

O multitoque não funciona na janela de ferramentas

Os gestos multitoques, incluindo os movimentos com dois dedos, não funcionam quando o emulador está sendo executado em uma janela de ferramentas. Para ativar o multitoque, inicie o emulador em uma janela separada.

O emulador prejudica a saída de áudio via Bluetooth

Caso esteja usando fones de ouvido com Bluetooth, talvez você observe que a saída de áudio do fone é prejudicada ao executar o emulador (problema 183139207). Isso acontece porque, quando o emulador é iniciado, ele ativa o microfone do fone de ouvido, o que faz com que o dispositivo passe para o modo duplex, com qualidade reduzida.

Para evitar esse problema, você pode desativar o microfone no emulador, adicionando hw.audioInput=no ao arquivo config.ini do Dispositivo virtual Android (AVD, na sigla em inglês). Para encontrar o arquivo config.ini do dispositivo virtual, acesse o AVD no Gerenciador de dispositivos, clique no menu flutuante e selecione Show on Disk.

Falha ao iniciar dispositivos virtuais Android no ChromeOS

No ChromeOS, os dispositivos virtuais Android (AVDs) podem não ser iniciados porque a dependência libnss3 está ausente. Para iniciar os AVDs, execute sudo apt install libnss3 e instale manualmente a biblioteca libnss3.

A janela do emulador incorporada é muito pequena

Em máquinas com resolução mais baixa, como 1024 x 768, pode ser difícil ler a tela do emulador quando ela é executada em uma janela de ferramentas no Android Studio. Para dar mais espaço ao emulador, feche a janela de ferramentas Device Manager se ela estiver aberta. Você também pode extrair a janela do emulador do Android Studio. Para isso, na janela do emulador, clique em Settings > View Mode e selecione Window, em vez de Dock Pinned.

Problemas com gráficos


O Android Emulator é executado lentamente após uma atualização

Vários fatores externos podem fazer que o Android Emulator comece a funcionar lentamente após uma atualização. Para iniciar a solução de problemas, recomendamos as seguintes etapas:

  • Se você tem uma GPU Intel (especialmente a Intel HD 4000), é necessário fazer o download do driver de placa gráfica Intel mais recente e instalá-lo.
  • Se a máquina tiver uma GPU Intel e uma GPU discreta, desative a GPU Intel no Gerenciador de dispositivos para garantir que você esteja usando a GPU discreta.
  • Execute o emulador usando o modo -gpu swiftshader. Para mais informações sobre como configurar opções de aceleração de gráficos na linha de comando, consulte Configurar aceleração de hardware.
  • Verifique se o roteador não está usando endereços IPv6 caso você não tenha uma conexão IPv6.

Se ainda assim a execução do Android Emulator continuar lenta, informe um bug, incluindo as informações necessárias sobre o Android Emulator para que possamos investigar.

Erro: vulkan-1.dll não foi encontrado

Se a inicialização do emulador falhar devido ao erro vulkan-1.dll cannot be found, provavelmente vai ser necessário atualizá-lo. Para atualizar o emulador no Android Studio, acesse Tools > SDK Manager e instale a versão estável mais recente da plataforma Android.

Como alternativa, se você não precisar de nenhum app que use a biblioteca gráfica Vulkan, desative o Vulkan iniciando o emulador pela linha de comando com a flag -feature -Vulkan.

Não foi possível criar um snapshot

Não é possível criar um snapshot do emulador que inclui a biblioteca de gráficos Vulkan. Para executar o emulador sem Vulkan, inicie o emulador pela linha de comando com a flag -feature -Vulkan. Você também pode desinstalar e evitar o uso de apps com o Vulkan (como o Chrome na API 30 ou mais recente) se quiser usar snapshots como parte do fluxo de trabalho de desenvolvimento.

Não é possível abrir a página da Web corretamente

No nível 30 da API e mais recentes, o Chrome usa a biblioteca gráfica Vulkan como o back-end de renderização e pode apresentar problemas de compatibilidade em algumas máquinas. Se o Chrome não for renderizado corretamente, tente iniciar o emulador pela linha de comando com a flag -feature -Vulkan.

Aviso de driver da GPU: retorno ao software

Se você receber um aviso sobre a falha do driver da GPU, pode estar em uma GPU não compatível. Por padrão, a opção automática é usada, que pode selecionar a renderização de software. Se você escolher o hardware, poderá forçar o uso da renderização de hardware. Uma mensagem de aviso ainda poderá aparecer.

Para imagens que não são da Play Store, use o Gerenciador de dispositivos -> 3 pontos -> "Editar". No caso de imagens da Play Store, você precisa editar manualmente estes dois arquivos de configuração:

~/.android/your_avd_name.avd/config.ini

~/.android/your_avd_name.avd/hardware-qemu.ini

e mudar hw.gpu.mode para host.

Isso pode reduzir a estabilidade do emulador. Consulte o bug para mais detalhes.

O emulador não inicializa na Área de trabalho remota do Google Chrome do Windows

Se o emulador não for inicializado ao usar a Área de trabalho remota do Google Chrome no Windows, a solução alternativa recomendada será usar a flag -gpu, como -gpu host ou -gpu swiftshader.

Problemas com a rede


Sem Internet: o endereço DNS do servidor não foi encontrado

Se o emulador não puder se conectar à Internet, tente iniciar o emulador pela linha de comando usando a opção -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4”. Esse comando fornece uma lista separada por vírgulas de endereços IP do DNS público do Google. Para mais informações sobre o DNS público do Google, consulte DNS público do Google para seus dispositivos.

Sem Internet: problemas de resolução de DNS

Às vezes, endereços DNS no arquivo /etc/resolv.conf não funcionam corretamente. A solução para esse problema é: iniciar o emulador pela linha de comando usando a opção -dns-server 8.8.8.8 ou -dns.server 2001:4860:4860::8888 para se conectar em uma rede somente IPv6.

Problemas antigos (em emuladores descontinuados ou sistemas antigos)


Não foi possível iniciar o AVD

Um AVD pode não ser iniciado quando há um relatório de erros para um emulador mais recente (problema 281725854). Esse problema ocorre apenas para usuários que atualizaram da versão canário 33.x para 32.1.13, tiveram uma falha na última vez que executaram a versão 33.x e não reiniciaram o AVD desde então, mantendo o diretório %TEMP% ou /tmp ativado. Se você tiver esse problema, tente limpar o diretório %TEMP% (/tmp no Linux ou macOS).

Windows: o emulador não será iniciado se houver Unicode no nome do AVD.

No Windows, quando o Gerenciador de dispositivos cria um Dispositivo virtual Android (AVD), por padrão, ele é criado em C:\Users\<name>\.android\avd. No entanto, se o nome do AVD (<name>) tem Unicode, o emulador não pode iniciá-lo corretamente usando esse local padrão.

Isso foi corrigido na versão 31.3.6 e mais recentes do emulador. Para resolver esse problema, atualize o emulador em Tools > SDK Manager.

Como solução alternativa, defina a variável de ambiente ANDROID_SDK_HOME como um diretório personalizado antes de criar um AVD. Por exemplo, crie o diretório C:\Android\home e defina ANDROID_SDK_HOME para esse diretório recém-criado. Para saber mais, consulte Variáveis de ambiente.

HAXM em versões sem suporte do macOS

Se você estiver usando o Android Emulator em versões mais antigas e sem suporte do MacOS, como a 10.9, pode ser necessário usar uma versão mais antiga do HAXM (6.1.2).

O hipervisor Intel HAXM não oferece suporte total a CPUs pré-Intel iX

Se o computador tiver uma CPU pré-Intel iX e o hipervisor Intel HAXM, talvez você encontre problemas de performance com o emulador. Isso ocorre porque o emulador não pode usar a aceleração de hardware para melhorar o desempenho nessas máquinas mais antigas. Se você está usando uma CPU pré-Intel iX, pode ter uma experiência de teste melhor se usar um dispositivo físico em vez do emulador.

Os hipervisores não podem emular determinados recursos de CPU exigidos por sistemas Android x86.

Geralmente, os hipervisores não podem emular alguns recursos de CPU, como as extensões de SIMD de streaming (SSE) (link em inglês), exigidas pelos sistemas Android x86.

O Google Maps não aparece nos controles estendidos do Android Emulator.

A partir de meados de maio, as versões do Android Emulator anteriores à 34.2.13 não vão ter mais um Google Maps funcional nos controles estendidos. Os emuladores mais antigos vêm com uma versão do Chromium incompatível com a API JavaScript do Google Maps.