Solução de problemas do Android Emulator

Neste artigo, são descritas as mensagens de aviso e os problemas mais comuns que ocorrem durante a execução do Android Emulator. Além disso, ele descreve soluções para resolver esses erros e várias dicas de solução de problemas para ajudá-lo a diagnosticar problemas do emulador. Para obter mais informações, consulte Solucionar problemas conhecidos com o emulador Android no developer.android.com.

Problemas de implantação no Windows

Algumas mensagens de erro podem ser exibidas pelo emulador quando você implanta o aplicativo. Os erros e soluções mais comuns são explicados aqui.

Erros de implantação

Se vir um erro sobre uma falha ao instalar o APK no emulador ou sobre uma falha ao executar o Android Debug Bridge (adb), verifique se o SDK do Android pode se conectar ao emulador. Para verificar a conectividade do emulador, use as seguintes etapas:

  1. Inicie o emulador a partir do Gerenciador de dispositivos Android (selecione seu dispositivo virtual e selecione Iniciar).

  2. Abra um prompt de comando e vá para a pasta em que o adb está instalado. Se o SDK do Android estiver instalado em seu local padrão, o adb estará localizado em C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe; caso contrário, modifique esse caminho para o local do SDK do Android no seu computador.

  3. Digite o seguinte comando:

    adb devices
    
  4. Se o emulador puder ser acessado pelo SDK do Android, ele deverá aparecer na lista de dispositivos anexados. Por exemplo:

    List of devices attached
    emulator-5554   device
    
  5. Se o emulador não aparecer nessa lista, inicie o Gerenciador do SDK do Android, aplique todas as atualizações e tente iniciar o emulador novamente.

Erro ao acessar o MMIO

Se for exibida a mensagem Ocorreu um erro de acesso de MMIO, reinicie o emulador.

Google Play Services ausente

Se o dispositivo Android emulado não tiver o Google Play Services ou a Google Play Store instalados, você provavelmente criou um dispositivo virtual que excluiu esses pacotes. Ao criar um dispositivo virtual, certifique-se de selecionar uma ou ambas as seguintes opções:

  • APIs do Google: inclui o Google Play Services no dispositivo virtual.
  • Google Play Store – inclui a Google Play Store no dispositivo virtual.

Por exemplo, este dispositivo virtual incluirá o Google Play Services e o Google Play Store:

Android Device Manager with Google Play Services and Play Store enabled for .NET MAUI.

Observação

Imagens do Google Play Store estão disponíveis apenas para alguns tipos de dispositivos básicos, como Pixel, Pixel 2, Nexus 5 e Nexus 5X.

Problemas de desempenho

Problemas de desempenho normalmente são causados por um dos seguintes problemas:

  • O emulador está em execução sem aceleração de hardware.
  • O dispositivo virtual em execução no emulador usando uma imagem baseada em Arm.

As seções a seguir tratam desses cenários com mais detalhes.

A aceleração de hardware não está ativada

Quando você inicia um dispositivo virtual e não tem a aceleração de hardware habilitada, o Gerenciador de dispositivos exibe uma caixa de diálogo de erro semelhante à seguinte imagem:

Android device manager warning about Hyper-V not enabled on .NET MAUI.

Para corrigir esse erro, siga as etapas de solução de problemas na seção Problemas de aceleração de hardware.

Problemas de aceleração de hardware

Ao usar a aceleração de hardware, você pode ter problemas de configuração ou conflitos com outro software no computador. A primeira etapa na solução de problemas é verificar se a aceleração de hardware está habilitada. Você pode usar o SDK do Android para verificar essa configuração. Abra um prompt de comando e digite o seguinte comando:

"C:\Program Files (x86)\Android\android-sdk\emulator\emulator-check.exe" accel

Esse comando pressupõe que o SDK do Android esteja instalado no local padrão de C:\Program Files (x86)\Android\android-sdk. Se o SDK do Android estiver instalado em outro lugar, modifique o comando anterior para o local correto.

Dica

Verifique se o emulador Android está atualizado. No Visual Studio, pressione Ferramentas>Android>Android SDK Manager. Selecione a guia Ferramentas e veja se a entrada do emulador Android tem uma atualização disponível.

Configurações incorretas de BIOS

Se o BIOS não tiver sido configurado corretamente para suportar aceleração de hardware, uma mensagem semelhante ao exemplo a seguir será exibida quando você executar o comando emulator-check.exe accel :

VT feature disabled in BIOS/UEFI

Para corrigir esse problema, reinicialize o BIOS do computador e habilite as seguintes opções:

  • 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.

Se ainda ocorrerem problemas devido a problemas relacionados ao Hyper-V, consulte a seção a seguir.

Problemas do Hyper-V

Em alguns casos, habilitar o Hyper-V e a Plataforma de Hipervisor do Windows na caixa de diálogo Ativar ou desativar recursos do Windows pode não habilitar adequadamente o Hyper-V. Para verificar se o Hyper-V está habilitado, use as seguintes etapas:

  1. Digite PowerShell na caixa de pesquisa do Windows.

  2. Clique com o botão direito do mouse em Windows PowerShell nos resultados da pesquisa e selecione Executar como administrador.

  3. No console do PowerShell, insira o seguinte comando:

    Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
    

    Se o Hyper-V não estiver habilitado, uma mensagem semelhante ao exemplo a seguir será exibida para indicar que o estado do Hyper-V está desabilitado:

    FeatureName      : Microsoft-Hyper-V-All
    DisplayName      : Hyper-V
    Description      : Provides services and management tools for creating and running virtual machines and their resources.
    RestartRequired  : Possible
    State            : Disabled
    CustomProperties :
    
  4. No console do PowerShell, insira o seguinte comando:

    Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
    

    Se o Hypervisor não estiver habilitado, uma mensagem semelhante ao exemplo a seguir será exibida para indicar que o estado de HypervisorPlatform está desabilitado:

    FeatureName      : HypervisorPlatform
    DisplayName      : Windows Hypervisor Platform
    Description      : Enables virtualization software to run on the Windows hypervisor
    RestartRequired  : Possible
    State            : Disabled
    CustomProperties :
    

Se o Hyper-V ou o HypervisorPlatform não estiverem habilitados, use os seguintes comandos do PowerShell para habilitá-los:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All

Após a conclusão desses comandos, reinicialize.

Para obter mais informações sobre como habilitar o Hyper-V (incluindo técnicas para habilitar o Hyper-V usando a ferramenta Gerenciamento e Manutenção de Imagens de Implantação ), confira Instalar o Hyper-V.

Mais dicas de solução de problemas

As sugestões a seguir costumam ser úteis para diagnosticar problemas do Android Emulator.

Iniciar o emulador da linha de comando

Se o emulador ainda não estiver em execução, você poderá iniciá-lo a partir da linha de comando (em vez de dentro do Visual Studio) para exibir sua saída. Normalmente, as imagens AVD do emulador Android são armazenadas no seguinte local: %userprofile%\.android\avd.

Você pode iniciar o emulador com uma imagem de AVD desta localização passando o nome da pasta do AVD. Por exemplo, esse comando inicia um AVD chamado Pixel_API_27:

"C:\Program Files (x86)\Android\android-sdk\emulator\emulator.exe" -partition-size 2000 -no-boot-anim -verbose -feature WindowsHypervisorPlatform -avd pixel_5_-_api_30 -prop monodroid.avdname=pixel_5_-_api_30

Esse comando pressupõe que o SDK do Android esteja instalado no local padrão de C:\Program Files (x86)\Android\android-sdk. Se o SDK do Android estiver instalado em outro lugar, modifique o comando anterior para o local correto.

Exibir logs do Device Manager

Com frequência, você pode diagnosticar problemas do emulador exibindo os logs do Device Manager. Esses logs são gravados no seguinte local: %userprofile%\AppData\Local\Xamarin\Logs\16.0.

Você pode exibir cada arquivo .log DeviceManager usando um editor de texto.