- Troubleshooting and known issues for Android Emulator and system images
- Checking for adequate disk space
- Antivirus software
- HAXM on older, unsupported versions of Mac OS
- Android Emulator runs slowly after an update
- Windows: Free RAM and commit charge
Troubleshooting and known issues for Android Emulator and system images
This page lists known issues, workarounds, and troubleshooting tips for theAndroid Emulator.
If you encounter an issue not listed here or are unable to successfully use aworkaround listed here, please report a bug.
Checking for adequate disk space
To avoid crashes and hangs caused by not having enough free disk space, theemulator checks for sufficient free disk space on startup, and will not startunless at least 2 GB is free. If the emulator fails to start for you, check tosee that you have adequate free disk space.
Antivirus software
Because many security and antivirus software packages work by monitoring everyread and write operation, use of such software can decrease performance of toolslike the Android Emulator.
Many antivirus packages provide the ability to whitelist specificapplications, which enables these applications to operate without performancedegradation. If you are experiencing poor performance with saving or loading ofAVD snapshots, you may improve this performance by whitelisting the AndroidEmulator application in your antivirus software.
The performance impact differs between various antivirus software packages. Ifyou have additional antivirus software installed beyond that which is includedwith your operating system, you can run simple tests to determine whichantivirus software has a greater performance effect on emulator load and saveoperations.
Some antivirus software may be incompatible with the Android Emulator.
If you're using Avast software and are having trouble running the AndroidEmulator, try disabling Use nested virtualization when availableand Enable Hardware assisted virtualization in the Avast Troubleshootingsettings. In addition, after Avast hardware virtualization is disabled, ensurethat HAXM is set up properly again with a full re-installation of the latest HAXMfrom the SDK Manager.
HAXM on older, unsupported versions of Mac OS
If you are using Android Emulator on older, unsupported versions of Mac OS X(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 runningslowly after an update. To begin troubleshooting, we recommend thefollowing steps:
- If you are running Android Emulator on Windows, check to see if you haveinstalled Windows UpdatesKB4013429andKB4015217.Some users reported improved Android Emulator performance after uninstallingthese updates. Users also reported improved Emulator performance afterinstalling Windows UpdateKB4015438.
- If you have an Intel GPU (and in particular, the Intel HD 4000), ensure youhave 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 areusing the discrete GPU.
- Try running the emulator using the
-gpu angle
,-gpu swiftshader
, or-gpu guest
modes. For more information about configuring graphicsacceleration options on the command line, seeConfigure hardware acceleration. - Ensure that your router is not using IPv6 addresses if you do not have anIPv6 connection.
If you are still experiencing problems with the Android Emulator runningslowly, Report a bug, including thenecessary Android Emulator Details so we can investigate.
Windows: Free RAM and commit charge
When the emulator starts, it needs to initialize the Android guest operatingsystem's RAM. On Windows, the emulator asks Windows to account for the fullsize of guest memory at start time, even though during actual operation, thememory may be paged in on demand. The emulator requests the full amount of guestmemory at start time because Windows is conservative in ensuring that there isenough physical RAM and pagefile available to hold the entire potential workingset; this prepares for the worst case, in which all guest memory is touchedquickly, without any opportunity to discard or otherwise free memory.
Sometimes, when the emulator asks Windows to account for this full guest memorysize, the request exceeds the current commit limit, which is the total of theavailable physical RAM and pagefile. In this case, Windows can't guarantee thatthe worst-case working set will fit in either physical RAM or pagefile, and theemulator fails to start.
In typical cases, the amount of hard drive space allocated for the pagefile plusphysical RAM is more than enough for most use cases of the emulator. However, ifyou experience failures to start the emulator because of exceeding the commitlimit, we recommend examining the current commit charge, which can be seen inthe Performance tab in the Windows Task Manager. (To open the Task Manager,press Ctrl+Shift+Esc.)
You can lower the likelihood of exceeding the commit limit in various ways:
- Free physical RAM before launching the emulator by closing unused applicationsand files.
- Disable third-party memory management and memory compression utilities. Theseutilities can inefficiently cause an excess commit charge and bring yoursystem closer to the commit limit.
- Use a system managed size for the Windows pagefile, which can more flexiblyand dynamically increase the pagefile size (and therefore the commit limit) inresponse to increased demand from the emulator and other applications.
For more information on commit charges and why a flexible setting works best,see this Microsoft article.