Solução de problemas do Android EmulatorAndroid emulator troubleshooting

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, são descritas soluções para resolver esses erros, bem como várias dicas de solução de problemas para ajudá-lo a diagnosticar problemas do emulador.This article describes the most common warning messages and issues that occur while configuring and running the Android Emulator. In addition, it describes solutions for resolving these errors as well as various troubleshooting tips to help you diagnose emulator problems.

Problemas de implantação no WindowsDeployment issues on Windows

Algumas mensagens de erro podem ser exibidas pelo emulador quando você implanta o aplicativo.Some error messages may be displayed by the emulator when you deploy your app. Os erros e soluções mais comuns são explicados aqui.The most common errors and solutions are explained here.

Erros de implantaçãoDeployment errors

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.If you see an error about a failure to install the APK on the emulator or a failure to run the Android Debug Bridge (adb), verify that the Android SDK can connect to your emulator. Para verificar a conectividade do emulador, use as seguintes etapas:To verify emulator connectivity, use the following steps:

  1. Inicie o emulador no Android Device Manager (selecione seu dispositivo virtual e clique em Iniciar).Launch the emulator from the Android Device Manager (select your virtual device and click Start).

  2. Abra um prompt de comando e vá para a pasta em que o adb está instalado.Open a command prompt and go to the folder where adb is installed. Se o SDK do Android estiver instalado na localização padrão, o adb estará localizado em C:\Arquivos de Programas (x86)\Android\android-sdk\platform-tools\adb.exe. Se não estiver, modifique esse caminho para a localização do SDK do Android em seu computador.If the Android SDK is installed at its default location, adb is located at C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe; if not, modify this path for the location of the Android SDK on your computer.

  3. Digite o seguinte comando:Type the following command:

    adb devices
    
  4. Se o emulador puder ser acessado pelo SDK do Android, ele deverá aparecer na lista de dispositivos anexados.If the emulator is accessible from the Android SDK, the emulator should appear in the list of attached devices. Por exemplo:For example:

    List of devices attached
    emulator-5554   device
    
  5. Se o emulador não aparecer nessa lista, inicie o Gerenciador de SDK do Android, aplique todas as atualizações e tente iniciar o emulador novamente.If the emulator does not appear in this list, start the Android SDK Manager, apply all updates, then try launching the emulator again.

Erro ao acessar o MMIOMMIO access error

Se for exibida a mensagem Ocorreu um erro de acesso de MMIO, reinicie o emulador.If the message An MMIO access error has occurred is displayed, restart the emulator.

Google Play Services ausenteMissing Google Play Services

Se o dispositivo virtual em execução no emulador não tem o Google Play Services ou o Google Play Store instalado, essa condição geralmente é causada pela criação de um dispositivo virtual sem incluir esses pacotes.If the virtual device you are running in the emulator does not have Google Play Services or Google Play Store installed, this condition is often caused by creating a virtual device without including these packages. Ao criar um dispositivo virtual (confira Gerenciando dispositivos virtuais com o Android Device Manager), certifique-se de selecionar pelo menos uma das opções a seguir:When you create a virtual device (see Managing Virtual Devices with the Android Device Manager), be sure to select one or both of the following options:

  • APIs do Google – inclui o Google Play Services no dispositivo virtual.Google APIs – includes Google Play Services in the virtual device.
  • Google Play Store – inclui o Google Play Store no dispositivo virtual.Google Play Store – includes Google Play Store in the virtual device.

Por exemplo, este dispositivo virtual incluirá o Google Play Services e o Google Play Store:For example, this virtual device will include Google Play Services and Google Play Store:

Exemplo de AVD com o Google Play Services e o Google Play Store habilitadosExample AVD with Google Play Services and Google Play Store enabled

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.Google Play Store images are available only for some base device types such as Pixel, Pixel 2, Nexus 5, and Nexus 5X.

Problemas de desempenhoPerformance issues

Problemas de desempenho normalmente são causados por um dos seguintes problemas:Performance issues are typically caused by one of the following problems:

  • O emulador está em execução sem aceleração de hardware.The emulator is running without hardware acceleration.

  • O dispositivo virtual em execução no emulador não está usando uma imagem do sistema com base em x86.The virtual device running in the emulator is not using an x86-based system image.

As seções a seguir tratam desses cenários com mais detalhes.The following sections cover these scenarios in more detail.

A aceleração de hardware não está habilitadaHardware acceleration is not enabled

Se a aceleração de hardware não estiver habilitada, iniciar um dispositivo virtual do Device Manager gerará uma caixa de diálogo com uma mensagem de erro indicando que a Plataforma de Hipervisor do Windows (WHPX) não está configurada corretamente:If hardware acceleration is not enabled, starting a virtual device from the Device Manager will produce a dialog with an error message indicating that the Windows Hypervisor Platform (WHPX) is not configured properly:

Exemplo de aviso do Device Manager

Se essa mensagem de erro for exibida, confira Problemas de aceleração de hardware mais adiante para ver as etapas você pode seguir para verificar e habilitar a aceleração de hardware.If this error message is displayed, see Hardware acceleration issues below for steps you can take to verify and enable hardware acceleration.

A aceleração de está habilitada, mas o emulador é executado muito lentamenteAcceleration is enabled but the emulator runs too slowly

Uma causa comum para esse problema é não estar usando uma imagem com base em x86 em seu dispositivo virtual (AVD).A common cause for this problem is not using an x86-based image in your virtual device (AVD). 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:

Selecionar uma imagem de sistema x86 para um dispositivo virtualSelecting an x86 system image for a virtual device

Problemas de aceleração de hardwareHardware acceleration issues

Se estiver usando o Hyper-V ou o HAXM para aceleração de hardware, você poderá ter problemas de configuração ou conflitos com outros softwares no computador.Whether you are using Hyper-V or HAXM for hardware acceleration, you may run into configuration problems or conflicts with other software on your computer. Você pode verificar se a aceleração de hardware está habilitada (e qual método de aceleração está usando o emulador) abrindo um prompt de comando e digitando o seguinte comando:You can verify that hardware acceleration is enabled (and which acceleration method the emulator is using) by opening a command prompt and entering the following command:

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

Esse comando presume que o SDK do Android está instalado na localização padrão do C:\Arquivos de Programa (x86)\Android\android-sdk. Se não estiver, modifique o caminho acima para a localização do SDK do Android no computador.This command assumes that the Android SDK is installed at the default location of C:\Program Files (x86)\Android\android-sdk; if not, modify the above path for the location of the Android SDK on your computer.

Aceleração de hardware não disponívelHardware acceleration not available

Se o Hyper-V estiver disponível, uma mensagem semelhante ao exemplo a seguir será retornada do comando emulator-check.exe accel:If Hyper-V is available, a message like the following example will be returned from the emulator-check.exe accel command:

HAXM is not installed, but Windows Hypervisor Platform is available.

Se o HAXM estiver disponível, uma mensagem semelhante ao exemplo a seguir será retornada:If HAXM is available, a message like the following example will be returned:

HAXM version 6.2.1 (4) is installed and usable.

Se a aceleração de hardware não estiver disponível, uma mensagem semelhante ao exemplo a seguir será exibida (o emulador procurará pelo HAXM se não for possível encontrar o Hyper-V):If hardware acceleration is not available, a message like the following example will be displayed (the emulator looks for HAXM if it is unable to find Hyper-V):

HAXM is not installed on this machine

Se a aceleração de hardware não estiver disponível, confira Acelerar com o Hyper-V para saber como habilitar a aceleração de hardware em seu computador.If hardware acceleration is not available, see Accelerating with Hyper-V to learn how to enable hardware acceleration on your computer.

Configurações incorretas de BIOSIncorrect BIOS settings

Se o BIOS não tiver sido configurado corretamente para dar suporte à aceleração de hardware, uma mensagem semelhante ao exemplo a seguir será exibida quando você executar o comando emulator-check.exe accel:If the BIOS has not been configured properly to support hardware acceleration, a message similar to the following example will be displayed when you run the emulator-check.exe accel command:

VT feature disabled in BIOS/UEFI

Para corrigir esse problema, reinicialize o BIOS do computador e habilite as seguintes opções:To correct this problem, reboot into your computer's BIOS and enable the following options:

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

Se a aceleração de hardware estiver habilitada e o BIOS estiver configurado corretamente, o emulador deverá ser executado com êxito com aceleração de hardware.If hardware acceleration is enabled and the BIOS is configured properly, the emulator should run successfully with hardware acceleration. No entanto, ainda poderá haver problemas devido a questões específicas do Hyper-V e do HAXM, conforme explicado a seguir.However, problems may still result due to issues that are specific to Hyper-V and HAXM, as explained next.

Problemas do Hyper-VHyper-V issues

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.In some cases, enabling both Hyper-V and Windows Hypervisor Platform in the Turn Windows features on or off dialog may not properly enable Hyper-V. Para verificar se o Hyper-V está habilitado, use as seguintes etapas:To verify that Hyper-V is enabled, use the following steps:

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

  2. Clique com o botão direito do mouse em Windows PowerShell nos resultados da pesquisa e selecione Executar como administrador.Right-click Windows PowerShell in the search results and select Run as administrator.

  3. No console do PowerShell, insira o seguinte comando:In the PowerShell console, enter the following command:

    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 é Desabilitado:If Hyper-V is not enabled, a message similar to the following example will be displayed to indicate that the state of Hyper-V is Disabled:

    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:In the PowerShell console, enter the following command:

    Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
    

    Se o Hipervisor não estiver habilitado, uma mensagem semelhante ao exemplo a seguir será exibida para indicar que o estado de HypervisorPlatform é Desabilitado:If the Hypervisor is not enabled, a message similar to the following example will be displayed to indicate that the state of HypervisorPlatform is Disabled:

    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 e/ou a HypervisorPlatform não estiverem habilitados, use os seguintes comandos do PowerShell para habilitá-los:If Hyper-V and/or HypervisorPlatform are not enabled, use the following PowerShell commands to enable them:

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

Após a conclusão desses comandos, reinicialize.After these commands complete, reboot.

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.For more information about enabling Hyper-V (including techniques for enabling Hyper-V using the Deployment Image Servicing and Management tool), see Install Hyper-V.

Problemas do HAXMHAXM issues

Os problemas com o HAXM normalmente são causados por conflitos com outras tecnologias de virtualização, configurações incorretas ou um driver de HAXM desatualizado.HAXM issues are often the result of conflicts with other virtualization technologies, incorrect settings, or an out-of-date HAXM driver.

O processo HAXM não está em execuçãoHAXM process is not running

Se o HAXM estiver instalado, você poderá verificar se o processo do HAXM está em execução abrindo um prompt de comando e digitando o seguinte comando:If HAXM is installed, you can verify that the HAXM process is running by opening a command prompt and entering the following command:

sc query intelhaxm

Se o processo do HAXM estiver em execução, você verá um resultado semelhante ao seguinte:If the HAXM process is running, you should see output similar to the following result:

SERVICE_NAME: intelhaxm
    TYPE               : 1  KERNEL_DRIVER
    STATE              : 4  RUNNING
                            (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
    WIN32_EXIT_CODE    : 0  (0x0)
    SERVICE_EXIT_CODE  : 0  (0x0)
    CHECKPOINT         : 0x0
    WAIT_HINT          : 0x0

Se o STATE não estiver definido como RUNNING, confira Como usar o Hardware Accelerated Execution Manager da Intel para resolver o problema.If STATE is not set to RUNNING, see How to Use the Intel Hardware Accelerated Execution Manager to resolve the problem.

Conflitos de virtualização do HAXMHAXM virtualization conflicts

O HAXM pode entrar em conflito com outras tecnologias que usam virtualização, como o Hyper-V, o Windows Device Guard e alguns softwares antivírus:HAXM can conflict with other technologies that use virtualization, such as Hyper-V, Windows Device Guard, and some antivirus software:

  • Hyper-V – Se você estiver usando uma versão do Windows anterior à Atualização de abril de 2018 para o Windows 10 (build 1803) e o Hyper-V estiver habilitado, siga as etapas em Desabilitando o Hyper-V para que o HAXM possa ser habilitado.Hyper-V – If you are using a version of Windows before the Windows 10 April 2018 update (build 1803) and Hyper-V is enabled, follow the steps in Disabling Hyper-V so that HAXM can be enabled.

  • Device Guard – o Device Guard e o Credential Guard podem impedir que o Hyper-V seja desabilitado em máquinas Windows.Device Guard – Device Guard and Credential Guard can prevent Hyper-V from being disabled on Windows machines. Para desabilitar o Device Guard e o Credential Guard, consulte Desabilitando o Device Guard.To disable Device Guard and Credential Guard, see Disabling Device Guard.

  • Software antivírus – se você estiver executando um software antivírus que usa virtualização assistida por hardware (como o Avast), desabilite ou desinstale esse software, reinicialize e tente novamente o iniciar o Android Emulator.Antivirus Software – If you are running antivirus software that uses hardware-assisted virtualization (such as Avast), disable or uninstall this software, reboot, and retry the Android emulator.

Configurações incorretas de BIOSIncorrect BIOS settings

Se você estiver usando o HAXM em um computador Windows, o HAXM não funcionará a menos que a tecnologia de virtualização (Intel VT-x) esteja habilitada no BIOS.If you are using HAXM on a Windows PC, HAXM will not work unless virtualization technology (Intel VT-x) is enabled in the BIOS. Se a VT-x estiver desabilitada, você verá um erro semelhante ao seguinte ao tentar iniciar o Android Emulator:If VT-x is disabled, you will get an error similar to the following when you attempt to start the Android Emulator:

Este computador atende aos requisitos para HAXM, mas a Intel Virtualization Technology (VT-x) não está ativada.This computer meets the requirements for HAXM, but Intel Virtualization Technology (VT-x) is not turned on.

Para corrigir esse erro, inicialize o computador no BIOS, habilite a VT-x e a SLAT (Conversão de Endereços de Segundo Nível) e reinicie o computador no Windows.To correct this error, boot the computer into the BIOS, enable both VT-x and SLAT (Second-Level Address Translation), then restart the computer back into Windows.

Desabilitando o Hyper-VDisabling Hyper-V

Se você estiver usando uma versão do Windows anterior à Atualização de abril de 2018 para o Windows 10 (build 1803) e o Hyper-V estiver habilitado, será necessário desabilitar o Hyper-V e reinicializar o computador para instalar e usar o HAXM.If you are using a version of Windows before the Windows 10 April 2018 Update (build 1803) and Hyper-V is enabled, you must disable Hyper-V and reboot your computer to install and use HAXM. Se você estiver usando a Atualização de abril de 2018 para o Windows 10 (build 1803) ou posterior, a versão 27.2.7 do Android Emulator ou posterior poderá usar o Hyper-V (em vez do HAXM) para aceleração de hardware, por isso não é necessário desabilitar o Hyper-V.If you are using Windows 10 April 2018 Update (build 1803) or later, Android Emulator version 27.2.7 or later can use Hyper-V (instead of HAXM) for hardware acceleration, so it is not necessary to disable Hyper-V.

Você pode desabilitar o Hyper-V no Painel de Controle seguindo estas etapas:You can disable Hyper-V from the Control Panel by following these steps:

  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.

  2. Desmarque a opção Hyper-V:Uncheck Hyper-V:

    Desabilitando o Hyper-V na caixa de diálogo Recursos do Windows

  3. Reinicie o computador.Restart the computer.

Como alternativa, você pode usar o seguinte comando do PowerShell para desabilitar o Hipervisor Hyper-V:Alternately, you can use the following PowerShell command to disable the Hyper-V Hypervisor:

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor

O Intel HAXM e o Microsoft Hyper-V não podem estar ativos ao mesmo tempo.Intel HAXM and Microsoft Hyper-V cannot both be active at the same time. Infelizmente, não há nenhuma maneira de alternar entre o Hyper-V e o HAXM sem reiniciar o computador.Unfortunately, there is no way to switch between Hyper-V and HAXM without restarting your computer.

Em alguns casos, as etapas acima não funcionarão para desabilitar o Hyper-V caso o Device Guard e o Credential Guard estiverem habilitados.In some cases, using the above steps will not succeed in disabling Hyper-V if Device Guard and Credential Guard are enabled. Se não for possível desabilitar o Hyper-V (ou ele parecer estar desabilitado, mas ainda ocorrer falha na instalação do HAXM), siga as etapas da próxima seção para desabilitar o Device Guard e o Credential Guard.If you are unable to disable Hyper-V (or it seems to be disabled but HAXM installation still fails), use the steps in the next section to disable Device Guard and Credential Guard.

Desabilitando o Device GuardDisabling Device Guard

O Device Guard e o Credential Guard podem impedir que o Hyper-V seja desabilitado em computadores Windows.Device Guard and Credential Guard can prevent Hyper-V from being disabled on Windows machines. Normalmente, isso é um problema para computadores com domínio associado que são configurados e controlados por uma organização proprietária.This situation is often a problem for domain-joined machines that are configured and controlled by an owning organization. No Windows 10, use as etapas a seguir para ver se o Device Guard está em execução:On Windows 10, use the following steps to see if Device Guard is running:

  1. Insira Informações do sistema na caixa de pesquisa do Windows e selecione Informações do Sistema nos resultados da pesquisa.Enter System info in the Windows search box and select System Information in the search results.

  2. No Resumo do Sistema, verifique se Segurança com base em Virtualização de Device Guard está presente e está no estado Em execução:In the System Summary, look to see if Device Guard Virtualization based security is present and is in the Running state:

    O Device Guard está presente e em execuçãoDevice Guard is present and running

Se o Device Guard estiver habilitado, use as seguintes etapas para desabilitá-lo:If Device Guard is enabled, use the following steps to disable it:

  1. Verifique se o Hyper-V está desabilitado (em Ativar ou desativar recursos do Windows) conforme descrito na seção anterior.Ensure that Hyper-V is disabled (under Turn Windows Features on or off) as described in the previous section.

  2. Na caixa de pesquisa do Windows, digite gpedit e selecione o resultado da pesquisa Editar política de grupo.In the Windows Search Box, enter gpedit and select the Edit group policy search result. Essas etapas iniciam o Editor de Política de Grupo Local.These steps launch the Local Group Policy Editor.

  3. No Editor de Política de Grupo Local, navegue até Configuração do Computador > Modelos Administrativos > Sistema > Device Guard:In the Local Group Policy Editor, navigate to Computer Configuration > Administrative Templates > System > Device Guard:

    Device Guard no Editor de Política de Grupo LocalDevice Guard in Local Group Policy Editor

  4. Altere a opção Ativar Segurança Baseada em Virtualização para Desabilitada (conforme mostrado acima) e saia do Editor de Política de Grupo Local.Change Turn On Virtualization Based Security to Disabled (as shown above) and exit the Local Group Policy Editor.

  5. Na caixa de pesquisa do Windows, digite cmd.In the Windows Search Box, enter cmd. Quando o Prompt de Comando aparecer nos resultados da pesquisa, clique com o botão direito do mouse em Prompt de Comando e selecione Executar como Administrador.When Command Prompt appears in the search results, right-click Command Prompt and select Run as Administrator.

  6. Copie e cole os comandos a seguir na janela do prompt de comando (se unidade Z: estiver em uso, selecione uma letra da unidade não usada):Copy and paste the following commands into the command prompt window (if drive Z: is in use, pick an unused drive letter to use instead):

     mountvol Z: /s
     copy %WINDIR%\System32\SecConfig.efi Z:\EFI\Microsoft\Boot\SecConfig.efi /Y
     bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
     bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
     bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
     bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS
     bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=Z:
     mountvol Z: /d
    
  7. Reinicie o computador.Restart your computer. Na tela de inicialização, você verá um prompt semelhante à mensagem seguinte:On the boot screen, you should see a prompt similar to the following message:

    Você deseja desabilitar o Credential Guard?Do you want to disable Credential Guard?

    Pressione a tecla indicada para desabilitar o Credential Guard como solicitado.Press the indicated key to disable Credential Guard as prompted.

  8. Após a reinicialização do computador, verifique novamente a fim de garantir que o Hyper-V esteja desabilitado (conforme descrito nas etapas anteriores).After the computer reboots, check again to ensure that Hyper-V is disabled (as described in the previous steps).

Se o Hyper-V ainda não estiver desabilitado, as políticas do computador ingressado no domínio podem impedir que você desabilite o Device Guard ou o Credential Guard.If Hyper-V is still not disabled, the policies of your domain-joined computer may prevent you from disabling Device Guard or Credential Guard. Nesse caso, você poderá solicitar uma isenção ao administrador do domínio a fim de permitir que você recuse o Credential Guard.In this case, you can request an exemption from your domain administrator to allow you to opt out of Credential Guard. Como alternativa, você poderá usar um computador que não esteja ingressado no domínio se precisar usar o HAXM.Alternately, you can use a computer that is not domain-joined if you must use HAXM.

Dicas adicionais de solução de problemasAdditional troubleshooting tips

As sugestões a seguir costumam ser úteis para diagnosticar problemas do Android Emulator.The following suggestions are often helpful in diagnosing Android emulator issues.

Iniciar o emulador da linha de comandoStarting the emulator from the command line

Se o emulador ainda não estiver em execução, você poderá iniciá-lo da linha de comando (em vez de dentro do Visual Studio) para exibir sua saída.If the emulator is not already running, you can start it from the command line (rather than from within Visual Studio) to view its output. Normalmente, as imagens do AVD do Android Emulator são armazenadas na seguinte localização (substitua o nome de usuário por seu nome de usuário do Windows):Typically, Android emulator AVD images are stored at the following location (replace username with your Windows user name):

C:\Usuários\nome de usuário\.android\avdC:\Users\username\.android\avd

Você pode iniciar o emulador com uma imagem de AVD desta localização passando o nome da pasta do AVD.You can launch the emulator with an AVD image from this location by passing in the folder name of the AVD. Por exemplo, esse comando inicia um AVD chamado Pixel_API_27:For example, this command launches an AVD named Pixel_API_27:

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

Esse exemplo presume que o SDK do Android está instalado na localização padrão do C:\Arquivos de Programa (x86)\Android\android-sdk. Se não estiver, modifique o caminho acima para a localização do SDK do Android no computador.This example assumes that the Android SDK is installed at the default location of C:\Program Files (x86)\Android\android-sdk; if not, modify the above path for the location of the Android SDK on your computer.

Quando você executar esse comando, ele produzirá muitas linhas de saída enquanto o emulador é iniciado.When you run this command, it will produce many lines of output while the emulator starts up. Em particular, linhas como o exemplo a seguir serão impressas se a aceleração de hardware estiver habilitada e funcionando corretamente (neste exemplo, o HAXM é usado para a aceleração de hardware):In particular, lines such as the following example will be printed if hardware acceleration is enabled and working properly (in this example, HAXM is used for hardware acceleration):

emulator: CPU Acceleration: working
emulator: CPU Acceleration status: HAXM version 6.2.1 (4) is installed and usable.

Exibir logs do Device ManagerViewing Device Manager logs

Com frequência, você pode diagnosticar problemas do emulador exibindo os logs do Device Manager.Often you can diagnose emulator problems by viewing the Device Manager logs. Esses logs são gravados na seguinte localização:These logs are written to the following location:

C:\Usuários\nome de usuário\AppData\Roaming\XamarinDeviceManagerC:\Users\username\AppData\Roaming\XamarinDeviceManager

Você pode exibir cada arquivo DeviceManager.log usando um editor de texto como o Bloco de notas.You can view each DeviceManager.log file by using a text editor such as Notepad. A entrada de log de exemplo a seguir indica que o HAXM não foi encontrado no computador:The following example log entry indicates that HAXM was not found on the computer:

Component Intel x86 Emulator Accelerator (HAXM installer) r6.2.1 [Extra: (Intel Corporation)] not present on the system

Problemas de implantação no macOSDeployment issues on macOS

Algumas mensagens de erro podem ser exibidas pelo emulador quando você implanta o aplicativo.Some error messages may be displayed by the emulator when you deploy your app. Os erros e soluções mais comuns são explicados abaixo.The most common errors and solutions are explained below.

Erros de implantaçãoDeployment errors

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.If you see an error about a failure to install the APK on the emulator or a failure to run the Android Debug Bridge (adb), verify that the Android SDK can connect to your emulator. Para verificar a conectividade, use as seguintes etapas:To verify connectivity, use the following steps:

  1. Inicie o emulador no Android Device Manager (selecione seu dispositivo virtual e clique em Iniciar).Launch the emulator from the Android Device Manager (select your virtual device and click Start).

  2. Abra um prompt de comando e vá para a pasta em que o adb está instalado.Open a command prompt and go to the folder where adb is installed. Se o SDK do Android estiver instalado na localização padrão, o adb estará localizado no diretório ~/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/adb. Se não estiver, modifique o caminho para a localização do SDK do Android no computador.If the Android SDK is installed at its default location, adb is located at ~/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/adb; if not, modify this path for the location of the Android SDK on your computer.

  3. Digite o seguinte comando:Type the following command:

    adb devices
    
  4. Se o emulador puder ser acessado pelo SDK do Android, ele deverá aparecer na lista de dispositivos anexados.If the emulator is accessible from the Android SDK, the emulator should appear in the list of attached devices. Por exemplo:For example:

    List of devices attached
    emulator-5554   device
    
  5. Se o emulador não aparecer nessa lista, inicie o Gerenciador de SDK do Android, aplique todas as atualizações e tente iniciar o emulador novamente.If the emulator does not appear in this list, start the Android SDK Manager, apply all updates, then try launching the emulator again.

Erro ao acessar o MMIOMMIO access error

Se a mensagem Ocorreu um erro de acesso de MMIO for exibida, reinicie o emulador.If An MMIO access error has occurred is displayed, restart the emulator.

Google Play Services ausenteMissing Google Play Services

Se o dispositivo virtual em execução no emulador não tem o Google Play Services ou o Google Play Store instalado, essa condição normalmente é causada pela criação de um dispositivo virtual sem incluir esses pacotes.If the virtual device you are running in the emulator does not have Google Play Services or Google Play Store installed, this condition is usually caused by creating a virtual device without including these packages. Ao criar um dispositivo virtual (confira Gerenciando dispositivos virtuais com o Android Device Manager), certifique-se de selecionar pelo menos uma destas opções:When you create a virtual device (see Managing Virtual Devices with the Android Device Manager), be sure to select one or both of the following:

  • APIs do Google – inclui o Google Play Services no dispositivo virtual.Google APIs – includes Google Play Services in the virtual device.
  • Google Play Store – inclui o Google Play Store no dispositivo virtual.Google Play Store – includes Google Play Store in the virtual device.

Por exemplo, este dispositivo virtual incluirá o Google Play Services e o Google Play Store:For example, this virtual device will include Google Play Services and Google Play Store:

Exemplo de AVD com o Google Play Services e o Google Play Store habilitadosExample AVD with Google Play Services and Google Play Store enabled

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.Google Play Store images are available only for some base device types such as Pixel, Pixel 2, Nexus 5, and Nexus 5X.

Problemas de desempenhoPerformance issues

Problemas de desempenho normalmente são causados por um dos seguintes problemas:Performance issues are typically caused by one of the following problems:

  • O emulador está em execução sem aceleração de hardware.The emulator is running without hardware acceleration.

  • O dispositivo virtual em execução no emulador não está usando uma imagem do sistema com base em x86.The virtual device running in the emulator is not using an x86-based system image.

As seções a seguir tratam desses cenários com mais detalhes.The following sections cover these scenarios in more detail.

A aceleração de hardware não está habilitadaHardware acceleration is not enabled

Se a aceleração de hardware não estiver habilitada, poderá aparecer uma caixa de diálogo com uma mensagem semelhante a o dispositivo será executado sem aceleração quando você implantar seu aplicativo no Android Emulator.If hardware acceleration is not enabled, a dialog may pop up with a message such as device will run unaccelerated when you deploy your app to the Android emulator. Se você não tiver certeza se a aceleração de hardware está habilitada no computador (ou se quiser saber qual tecnologia está fornecendo a aceleração), confira Problemas de aceleração de hardware mais adiante para ver as etapas que pode seguir para verificar e habilitar a aceleração de hardware.If you are not certain whether hardware acceleration is enabled on your computer (or you would like to know which technology is providing the acceleration), see Hardware acceleration issues below for steps you can take to verify and enable hardware acceleration.

A aceleração de está habilitada, mas o emulador é executado muito lentamenteAcceleration is enabled but the emulator runs too slowly

Uma causa comum para esse problema é não estar usando uma imagem com base em x86 em seu dispositivo virtual.A common cause for this problem is not using an x86-based image in your virtual device. 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 virtual device (see Managing Virtual Devices with the Android Device Manager), be sure to select an x86-based system image:

Selecionar uma imagem de sistema x86 para um dispositivo virtualSelecting an x86 system image for a virtual device

Problemas de aceleração de hardwareHardware acceleration issues

Quer esteja usando o Framework de Hipervisor ou o HAXM para a aceleração de hardware do emulador, você poderá ter problemas causados por falhas de instalação ou pelo uso de uma versão desatualizada do macOS.Whether you are using the Hypervisor Framework or HAXM for hardware acceleration of the emulator, you may run into problems caused by installation issues or an out-of-date version of macOS. As seções a seguir podem ajudá-lo a resolver esse problema.The following sections can help you resolve this issue.

Problemas do Framework de HipervisorHypervisor Framework issues

Se você estiver usando o macOS 10.10 ou posterior em um Mac mais recente, o Android Emulator usará automaticamente o Framework de Hipervisor para aceleração de hardware.If you are using macOS 10.10 or later on a newer Mac, the Android emulator will automatically use the Hypervisor Framework for hardware acceleration. No entanto, alguns Macs mais antigos ou Macs que executam uma versão do macOS anterior à 10.10 poderão não ter suporte para o Framework de Hipervisor.However, some older Macs or Macs running a version of macOS earlier than 10.10 may not provide Hypervisor Framework support.

Para determinar se o seu Mac tem suporte para o Framework de Hipervisor ou não, abra um Terminal e digite o seguinte comando:To determine whether or not your Mac supports the Hypervisor Framework, open a Terminal and enter the following command:

sysctl kern.hv_support

Se o Mac tiver suporte para o Framework de Hipervisor, o comando acima retornará o seguinte resultado:If your Mac supports the Hypervisor Framework, the above command will return the following result:

kern.hv_support: 1

Se o Framework de Hipervisor não estiver disponível em seu Mac, você poderá seguir as etapas em Acelerar com o HAXM para usar o HAXM para aceleração.If the Hypervisor Framework is not available on your Mac, you can follow the steps in Accelerating with HAXM to use HAXM for acceleration instead.

Problemas do HAXMHAXM issues

Se o Android Emulator não inicia corretamente, normalmente o problema é causado pelo HAXM.If the Android Emulator does not start properly, this problem is often caused by problems with HAXM. Os problemas com o HAXM normalmente são causados por conflitos com outras tecnologias de virtualização, configurações incorretas ou um driver de HAXM desatualizado.HAXM issues are often the result of conflicts with other virtualization technologies, incorrect settings, or an out-of-date HAXM driver. Tente reinstalar o driver do HAXM seguindo as etapas detalhadas em Instalando o HAXM.Try reinstalling the HAXM driver, using the steps detailed in Installing HAXM.

Dicas adicionais de solução de problemasAdditional troubleshooting tips

As sugestões a seguir costumam ser úteis para diagnosticar problemas do Android Emulator.The following suggestions are often helpful in diagnosing Android emulator issues.

Iniciar o emulador da linha de comandoStarting the emulator from the command line

Se o emulador ainda não estiver em execução, você poderá iniciá-lo da linha de comando (em vez de dentro do Visual Studio para Mac) para exibir sua saída.If the emulator is not already running, you can start it from the command line (rather than from within Visual Studio for Mac) to view its output. Normalmente, as imagens do AVD do Android Emulator são armazenadas na seguinte localização:Typically, Android emulator AVD images are stored at the following location:

~/.android/avd~/.android/avd

Você pode iniciar o emulador com uma imagem de AVD desta localização passando o nome da pasta do AVD.You can launch the emulator with an AVD image from this location by passing in the folder name of the AVD. Por exemplo, esse comando inicia um AVD chamado Pixel_2_API_28:For example, this command launches an AVD named Pixel_2_API_28:

~/Library/Developer/Xamarin/android-sdk-macosx/emulator/emulator -partition-size 512 -no-boot-anim -verbose -feature WindowsHypervisorPlatform -avd Pixel_2_API_28 -prop monodroid.avdname=Pixel_2_API_28

Se o SDK do Android estiver instalado na localização padrão, o emulador estará localizado no diretório ~/Library/Developer/Xamarin/android-sdk-macosx/emulator. Se não estiver, modifique o caminho para a localização do SDK do Android no Mac.If the Android SDK is installed at its default location, the emulator is located in the ~/Library/Developer/Xamarin/android-sdk-macosx/emulator directory; if not, modify this path for the location of the Android SDK on your Mac.

Quando você executar esse comando, ele produzirá muitas linhas de saída enquanto o emulador é iniciado.When you run this command, it will produce many lines of output while the emulator starts up. Em particular, linhas como o exemplo a seguir serão impressas se a aceleração de hardware estiver habilitada e funcionando corretamente (neste exemplo, o Framework de Hipervisor é usado para a aceleração de hardware):In particular, lines such as the following example will be printed if hardware acceleration is enabled and working properly (in this example, Hypervisor Framework is used for hardware acceleration):

emulator: CPU Acceleration: working
emulator: CPU Acceleration status: Hypervisor.Framework OS X Version 10.13

Exibir logs do Device ManagerViewing Device Manager logs

Com frequência, você pode diagnosticar problemas do emulador exibindo os logs do Device Manager.Often you can diagnose emulator problems by viewing the Device Manager logs. Esses logs são gravados na seguinte localização:These logs are written to the following location:

~/Library/Logs/XamarinDeviceManager~/Library/Logs/XamarinDeviceManager

Você pode exibir cada arquivo Android Devices.log clicando duas vezes nele para abri-lo no aplicativo de Console.You can view each Android Devices.log file by double-clicking it to open it in the Console app. A entrada de log de exemplo a seguir indica que o HAXM não foi encontrado:The following example log entry indicates that HAXM was not found:

Component Intel x86 Emulator Accelerator (HAXM installer) r6.2.1 [Extra: (Intel Corporation)] not present on the system