The Android Emulator is a component for the Android SDK. It is included with Android Studio. Revisions of the emulator prior to 25.3.0 were distributed as part of the Android SDK Tools.
The sections below provide notes about successive releases of the Android Emulator, as denoted by revision number. To ensure you have the latest version, check the SDK Manager for updates. For Android Emulator revisions prior to 25.3.0, see the Android SDK Tools Release Notes.
Revision 26.1.2 (July 2017)
This release includes new features and performance improvements.
-
Added the ability to define a custom HTTP proxy configuration in the extended controls (click More
,
and then click Settings and
Proxy). By default, the emulator uses the Android Studio HTTP proxy
settings, but this screen allows you to define a manual proxy configuration.
-
Added VNC support for guest mode GPU so emulator can be remotely viewed and controlled. For example, you can launch the emulator and let VNC listen to port 5901 as follows:
- Execute:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1 - Open a VNC viewer, such as tightvnc viewer, to connect to port 5901.
-
To use Mac's built-in screen sharing client, a VNC password is required when launching the emulator. To set a password, use this command:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdioAnd then enter
change vnc passwordinto the console, and enter a password.
-
Android O is not currently supported for VNC mode.
- Execute:
-
Added a File a bug button in the extended controls Help screen (Click More
,
and then click Help and Emulator help). Clicking File a bug
opens a dialog where you can see the bug report details such as the
screenshot, the AVD configuration info,
and a bug report log. You can then save the report for yourself or
report emulator issues. - Added gyroscope sensor to emulator and virtual sensors panel. This requires a system image with gyroscope support to work (currently API level 24 and 25).
- Added host-preferred DNS to Qemu DNS list on Windows, when multiple virtual network interfaces on the host introduce multiple DNS addresses which are not functional for the emulator.
- Added experimental macOS Hypervisor.Framework support for 32-bit x86 images
on macOS 10.10+ through server flags, which should improve boot time and
performance.
- If you experience problems with it, add the line
HVF = offin~/.android/advancedFeatures.ini.
- If you experience problems with it, add the line
- OpenGL ES 3.x is now enabled by default for system images and host GPUs that
support OpenGL ES 3. Currently, only Android O (API level 26) and
Windows/Linux hosts support OpenGL ES 3.
- If you experience problems with OpenGL ES 3, add the line
GLESDynamicVersion = offin~/.android/advancedFeatures.ini.
- If you experience problems with OpenGL ES 3, add the line
- Emulator now uses offscreen OpenGL FBOs for all rendering except final display image posting, which should help with color consistency issues across platforms.
- After collecting data on sudden emulator slowdown issues, we have determined that the problem may have to do with some interaction between older Intel OpenGL drivers and Windows updates. As such, users with Intel HD 4000, 3000, 2000 (and related GPUs) now have rendering set by default to either a D3D renderer (ANGLE) or Swiftshader (software renderer).
Revision 26.0.0 (March 2017)
This release is compatible with API level 26. It also includes a number of performance improvements and bug fixes.
Minor revision 26.0.3 (May 2017)
- Adds online-updateable feature flags for quickly addressing issues stemming from problematic hardware configurations. This allows Google to roll out fixes and features that are dependent on user configurations by updating server-side flags. If you notice issues with specific hardware, please report a bug so we can investigate the problem.
- New support for rotary input for Android Wear API level 25 system images. To emulate the rotary input dial on a Wear device, click the Rotary Input tab on the extended window.
- The Crash Reporting dialog is now resizable and no longer resets When to send crash reports to Ask without input.
- The 32-bit emulator now requires that the maximum AVD RAM size be less than or equal to 512 MB, in order prevent the emulator from running out of room in the 2 GB virtual address space.
- Adds support for absolute paths in emulator images.
- Adds a new tab in the extended window for Google Play Store images that displays the Play Services version and a button to check for updates to Play Services.
- Adds a dropdown to select the OpenGL renderer on the Emulator Settings page. If you are experiencing issues with the OpenGL driver on a Windows machine, try using the ANGLE (D3D11) or ANGLE (D3D9) options (requires a restart). If you are experiencing issues with the OpenGL driver on a non-Windows machine, try using the Swiftshader software renderer (requires a restart).
- Fixes a rare crash on exit when the emulator receives both
exitandminimizecommands. - Fixes a scaling issue when changing displays on a Mac machine. (Issue 268296)
- Fixes an issue where the emulator takes 300% of the CPU and holds it after resuming the host computer from sleep or when the emulator has been running for a long time.
- Fixes a crash when the emulator is shutting down.
Updates with HAXM v6.1.1 (March 2017)
Note: HAXM v6.1.1 is available for Mac users through the SDK Manager as of March 30th, and will be available for Windows users soon.
Revision 26.0.0 of the Android Emulator supports HAXM v6.1.1, which includes the following updates:
- Enables Performance Monitoring Units (PMU) emulation. (Issue 223377)
- Fixes coexistence with VirtualBox and Docker on Macs. (Issue 197915)
- Revises the installation error message displayed when the installer fails to detect Intel VT-x on Windows, usually because Hyper-V is enabled.
- Adds support for accelerating the Android Emulator in a Hyper-V-based Windows VM. This update requires that the host Hyper-V instance (the one that manages the Windows VM/guest) use the latest version of Hyper-V with nested virtualization enabled. Hyper-V must be disabled in the guest Hyper-V instance (the Windows VM).
Dependencies
- Android SDK Platform-Tools revision 25.0.4 or later.
<li>Android SDK Tools revision 26.0.0 or later.
</li>
</ul>
<h3>New features and bug fixes</h3>
- Compatible with API level 26.
- Fully GLES 2.0 compliant. Given a host GPU that has conformant desktop
OpenGL drivers, the emulator now passes 100% of the Android CTS dEQP-GLES2
mustpasslist. This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images. - Improved video playback performance. The emulator now stores all video color buffers in host/guest shared memory and performs necessary final YUV to RGB conversion in the GPU. 1080p30 should be well within reach of most systems now. This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
- The emulator now correctly unregisters itself from the
adb deviceslist on exit and closes open TCP ports on Linux machines. - adb connections are now more reliable. A running emulator is detected faster and doesn’t go into “offline” or “unauthorized” status anymore.
Revision 25.3.0 (March 2017)
As of this release, the Android Emulator will be released separately from the SDK Tools. This release contains a variety of performance improvements, new features, and bug fixes.
Minor revision 25.3.1 (March 2017)
- Fixed a crash occurring on some GPU configurations by disabling GLAsyncSwap by default.
This feature was added in 25.3.0 to improve frame timing and frames per second for games
and video, but causes the emulator to fail on some unknown machine configurations. You can
manually enable it by opening the
android_sdk/emulator/lib/advancedFeatures.inifile and settingGLAsyncSwap = on.
<h3>Dependencies</h3>
<ul>
<li>Android SDK Platform-Tools revision 24 or later.
</li>
<li>Android SDK Tools revision 25.3.0.
</li>
</ul>
<h3>New features and bug fixes</h3>
<ul>
<li>Updated emulation engine to QEMU 2.7, including all recent
bug fixes, improved performance, and new features.
</li>
<li>New IPv6 support.
</li>
<li>The emulator now uses SwiftShader as a pure software renderer on
the host.
</li>
<li>Android Pipe performance improvements: Android Pipe, the main
communication channel between the emulator and Android OS, is now an
order of magnitude faster, has lower latency and offers better
multi-threaded performance. This causes a number of performance
improvements for the emulator, including:
<ul>
<li>Improved ADB push/pull speed.
</li>
<li>Better 3D acceleration support.
</li>
<li>Increased overall responsiveness of the emulator.
</li>
<li>Improved graphics performance.
</li>
</ul>
</li>
<li>The emulator now uses GPU-side buffers (glBindBuffers /
glBufferData) when the guest requests them, decreasing CPU overhead
in some apps.
</li>
<li>Improved audio support.
</li>
<li>Faster disk I/O: The emulator now uses separate threads to
dispatch disk I/O, resulting in lower latency and better throughput
(~1.5x sequential I/O speed, ~5x random access I/O speed). This also
reduces the number of flushes to disk, resulting in much lower
physical device load.
</li>
<li>The emulator now uses sparse files for disk boots on Windows
machines, speeding up both first boot and "wipe-data" boots. When
creating or resetting an AVD, the emulator now writes 100-200 MB of
data to disk, instead of 2 GB or more.
</li>
<li>Various GUI enhancements:
<ul>
<li>The emulator now uses Qt 5.7.0, which includes bug fixes and
performance improvements.
</li>
<li>UI initialization no longer attempts to load all emulator
executables as Qt plugins, so it's dramatically shorter,
especially on HDDs.
</li>
<li>UI interactions are now faster and smoother, including
rotation, window resizing, and extended controls window loading
and closing.
</li>
</ul>
</li>
</ul>