The latest release of the Android Emulator for Windows aims to boost performance when running on AMD processors or a Microsoft Hyper-V hypervisor by bringing support for hardware accelerated enhancements that were previously only available for Intel processors.
While native AMD support has been available for a long time on Mac and Linux, this was not the case when using Windows, where the Android Emulator was bound to use software emulation. Adding support for AMD processors and Hyper-V to the Windows Android Emulator, Google has been addressing two long-standing user requests from the developer community, writes Google product manager Jamal Eason.
This is made possible by a new API Microsoft recently open-sourced, Windows Hypervisor Platform (WHPX). WHPX adds an extended user-mode API to create and manage partitions at the hypervisor level, configure memory mappings for the partition, and create and control execution of virtual processors. WHPX enables the creation of virtual processors that can emulate instructions taking advantage of the accelerators provided by the underlying hardware processor.
To enable the new features on a Windows OS running on an AMD processor, you have to enable the "Windows Hypervisor Platform" settings under Windows Features. Additional requirements are:
- Android Studio 3.2 Beta or higher
- Android Emulator v27.3.8+
- x86 Android Virtual Device (AVD)
- Windows 10 with April 2018 Update.
Support for Hyper-V means developers can benefit from the Android emulator hardware acceleration also when running it side-by-side with other programs using Hyper-V, such as Docker, the HoloLens emulator, and others, or inside an Azure virtual machine. Previously, using the Android Emulator required disabling Hyper-V altogether.
2>emulator: CPU Acceleration: DISABLED
2>emulator: CPU Acceleration status: Please disable Hyper-V before using the Android Emulator. Start a command prompt as Administrator, run 'bcdedit /set hypervisorlaunchtype off', reboot.
2>emulator: ERROR: x86_64 emulation currently requires hardware acceleration!
2>Please ensure Windows Hypervisor Platform (WHPX) is properly installed and usable.
2>CPU acceleration status: Please disable Hyper-V before using the Android Emulator. Start a command prompt as Administrator, run 'bcdedit /set hypervisorlaunchtype off', reboot.
If you want to use Hyper-V at the same time as the Android emulator, you will need to enable the "Hyper-V" settings under Windows Features, which is available for Windows 10 Professional/Education/Enterprise. This is in addition to the usual requirements for running Hyper-V, which are basically using an Intel Core processor that supports Virtualization Technology (VT-x), Extended Page Tables (EPT), and Unrestricted Guest (UG) features. Furthermore, VT-x needs to be enabled in the BIOS.
Developers using Windows on Intel processors will not need to change their environment configuration, since the Android Emulator will continue to use the default Intel Hardware Accelerated Execution Manager (HAXM) configuration.