Troubleshoot known issues with Android Emulator

This page lists known issues, workarounds, and troubleshooting tips for the Android Emulator. If you encounter an issue not listed here or are unable to successfully use a workaround listed here, report a bug.

Check for adequate disk space

To avoid crashes and hangs due to lack of free disk space, the emulator checks for sufficient free disk space on startup and doesn't start unless at least 2 GB is free. If the emulator fails to start, check whether you have adequate free disk space.

Antivirus software

Because many security and antivirus software packages work by monitoring every read and write operation, use of such software can decrease the performance of tools like the Android Emulator.

Many antivirus packages provide the ability to add specific applications to a list of trusted applications, which enables the listed applications to operate without performance degradation. If you are experiencing poor performance with saving or loading AVD snapshots, you might improve this performance by adding the Android Emulator application as a trusted application in your antivirus software.

The performance impact differs between antivirus software packages. If you have additional antivirus software installed beyond what is included with your operating system, you can run simple tests to determine which antivirus software has a greater performance effect on emulator load and save operations.

Some antivirus software may be incompatible with the Android Emulator.

If you're using Avast software and are having trouble running the Android Emulator, disable Use nested virtualization when available and Enable Hardware assisted virtualization in the Avast Troubleshooting settings. In addition, after Avast hardware virtualization is disabled, ensure that HAXM is set up properly again with a full reinstallation of the latest HAXM from the SDK Manager.

On Windows, sometimes the AVD freezes with HAXM and the issue can be resolved by uninstalling McAfee completely.

Unable to launch AVD

An AVD might not launch if a crash report for a newer emulator exists (issue #281725854). This issue occurs only for users who update from canary version 33.x to 32.1.13, had a crash the last time they ran the 33.x version, and haven't rebooted their AVD since, so the %TEMP% or /tmp directory is still on. If you're experiencing this issue, try clearing the %TEMP% directory (/tmp on Linux or macOS).

HAXM on unsupported versions of macOS

If you are using Android Emulator on older, unsupported versions of macOS, such as 10.9, then you may need to use an older version of HAXM (6.1.2), too.

Android Emulator runs slowly after an update

A number of external factors can cause the Android Emulator to begin running slowly after an update. To begin troubleshooting, we recommend the following steps:

  • If you have an Intel GPU (and in particular, the Intel HD 4000), ensure you have downloaded and installed the latest Intel graphics driver.
  • If your machine has both an Intel HD 4000 GPU and a discrete GPU, disable the Intel HD 4000 GPU in Device Manager to ensure you are using the discrete GPU.
  • Run the emulator using the -gpu angle, -gpu swiftshader, or -gpu guest modes. For more information about configuring graphics acceleration options on the command line, see Configure hardware acceleration.
  • Ensure that your router is not using IPv6 addresses if you don't have an IPv6 connection.

If you are still experiencing problems with the Android Emulator running slowly, report a bug and include the necessary Android Emulator details so we can investigate.

Windows: Free RAM and commit charge

When the emulator starts, it needs to initialize the Android guest operating system's RAM. On Windows, the emulator requests that Windows account for the full size of guest memory at start time, even though during actual operation, the memory may be paged in on demand. The emulator requests the full amount of guest memory at start time because Windows is conservative in ensuring that there is enough physical RAM and pagefile available to hold the entire potential working set. This request prepares for the worst case, where all guest memory is touched quickly without any opportunity to discard or otherwise free memory.

Sometimes, when the emulator asks Windows to account for this full guest memory size, the request exceeds the current commit limit, which is the total of the available physical RAM and pagefile. In this case, Windows can't guarantee that the worst-case working set fits in either physical RAM or pagefile, and the emulator fails to start.

In typical cases, the amount of hard drive space allocated for the pagefile plus physical RAM is more than enough for most use cases of the emulator. However, if you experience failures to start the emulator because of exceeding the commit limit, we recommend examining the current commit charge, which can be seen in the Performance tab in the Windows Task Manager. To open the Task Manager, press Ctrl+Shift+Esc.

To lower the likelihood of exceeding the commit limit in various ways:

  • Free physical RAM before launching the emulator by closing unused applications and files.
  • Disable third-party memory management and memory compression utilities. These utilities can inefficiently cause an excess commit charge and bring your system closer to the commit limit.
  • Use a system managed size for the Windows pagefile, which can more flexibly and dynamically increase the pagefile size, and therefore the commit limit, in response to increased demand from the emulator and other applications.

    For more information on commit charges and why a flexible setting works best, read this Microsoft article.

Multi-touch does not work in tool window

Multi-touch gestures, including two-finger panning, don't work when the emulator is running in a tool window. To enable multi-touch, launch the emulator in a separate window.

Emulator degrades Bluetooth audio output

If you are using a Bluetooth headset, you might notice that the Bluetooth headphone audio output degrades when the emulator runs (issue 183139207). This happens because when the emulator launches, it turns on the headset's microphone, which causes the headset to switch the duplex mode with reduced quality.

To avoid this problem, disable the microphone in the emulator by adding hw.audioInput=no to the config.ini file of the Android Virtual Device (AVD). To find an AVD's config.ini file, go to the AVD in the Device Manager, click its overflow menu, and select Show on Disk.

Windows: Emulator fails to launch if there is Unicode in the AVD name

On Windows, when the Device Manager creates an Android Virtual Device (AVD), it by default creates the AVD at C:\Users\<name>\.android\avd. However, if the AVD name (<name>) has Unicode, the emulator cannot launch the AVD properly using this default location.

This issue is fixed in Emulator 31.3.6 and higher. To solve this issue, update the emulator by selecting Tools > SDK Manager.

Alternatively, to work around this issue, set the environment variable ANDROID_SDK_HOME to a custom directory before creating an AVD. For example, create the directory C:\Android\home, and then set ANDROID_SDK_HOME to this newly created directory. To learn more, see Environment variables.

Embedded emulator window too small

On machines with lower resolution, such as 1024x768, it can be difficult to read the emulator screen when it runs in a tool window in Android Studio. To give the emulator more space, close the Device Manager tool window if it's open. You can also pull the emulator window out of Android Studio. To do so, in the emulator window, click on Settings > View Mode and select Window instead of Dock Pinned.

Error: vulkan-1.dll cannot be found

If the emulator fails to launch due to the error vulkan-1.dll cannot be found, you probably need to update the emulator. To update the emulator in Android Studio, go to Tools > SDK Manager and install the latest stable version of Android platform.

Alternatively, if you don't need any apps that use the Vulkan graphics library, turn off Vulkan by launching the emulator from the command line with the flag -feature -Vulkan.

No internet: server DNS address cannot be found

If the emulator cannot connect to the internet, try launching the emulator from the command line using the option -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4”. This command supplies a comma-separated list of Google Public DNS IP addresses. For more information about Google Public DNS, see Google Public DNS for your devices.

No internet: DNS resolution issues

Sometimes DNS addresses in the /etc/resolv.conf file don't work properly. You can work around this issue by launching the emulator from the command line using the option -dns-server 8.8.8.8 or -dns.server 2001:4860:4860::8888 to connect over an IPv6-only network.

Unable to create a snapshot

Creating a snapshot of the emulator that includes the Vulkan graphics library is not supported. To run the emulator without Vulkan, launch the emulator from the command line with the flag -feature -Vulkan. Alternatively, you can uninstall and avoid using apps with Vulkan, such as Chrome on API 30 or higher, if you want to use snapshots as part of your development workflow.

Cannot open webpage correctly

Starting with API level 30, Chrome uses the Vulkan graphics library as its rendering backend, and it could have compatibility issues on certain machines. If Chrome does not render correctly for you, try to launch the emulator from the command line with the flag -feature -Vulkan.

Intel HAXM hypervisor does not fully support pre-Intel iX CPUs

If your computer has a pre-Intel iX CPU and the Intel HAXM hypervisor, you might experience performance issues with the emulator. This is because the emulator is unable to use hardware acceleration to improve performance on these older machines. If you are using a pre-Intel iX CPU, you might have a better testing experience if you use a physical device instead of the emulator.

Hypervisors cannot emulate certain CPU features required by x86 Android systems

Hypervisors generally cannot emulate certain CPU features, such as Streaming SIMD Extensions (SSE), required by x86 Android systems.

Android Virtual Devices fail to launch on ChromeOS

On ChromeOS, Android Virtual Devices (AVDs) might fail to launch because the libnss3 dependency is missing. To launch the AVDs successfully, run sudo apt install libnss3 to manually install the libnss3 library.

GPU Driver Warning - Falling Back To Software on Intel HD4000

If you are receiving a warning about GPU driver falling back, try to change the GPU config to hardware. By default it uses auto which might pick software rendering. If you choose hardware you should be able to force it to use hardware rendering (it might still pop a warning message).

For non-playstore images, you could do it in device manager -> 3 dots -> edit. For playstore images, you would need to manually edit those 2 config files:

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

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

and change hw.gpu.mode to host

See bug for more details.