Cross Platform
Android
iOS
Mac
Test Cloud

Accelerating Android Emulators with HAXM

This guide introduces Genymotion and hardware acceleration as alternatives to the Google Android Emulator, and demonstrates installation and setup.

Overview

Out of the box, the Google Android Emulators are prohibitively slow, to the point of being near unusable. The Intel HAXM Drivers provide hardware acceleration for x86 based emulators on Intel VT-enabled sytems. The HAXM drivers are free to use and published by Intel.

This guide covers setup for the HAXM emulators.

However, if possible, you are strongly encouraged to use the Android Xamarin Player instead.

Setting Up Your Google Android Emulator with the Intel Hardware Accelerated Execution Manager (HAXM)

  1. Launch Xamarin Studio.
  2. From the Tools menu, choose Android SDK Manager , as illustrated by the screenshot below:

  3. In the SDK Manager, make sure you have installed the x86 Atom System Image for the desired Android SDK version. If needed, select it and install the package, agreeing to the license as needed. The image will download and install:

    At this point, you can build x86 Android Virtual Device versions by selecting the appropriate CPU/ABI choice when creating the device, but they will not be accelerated. If you have any Android Virtual Devices running, close them before continuing.

  4. From the Intel website, download the latest HAXM virtualization engine . If you are running Mac OS X 10.9 Mavericks or Windows 8.1, you will want the appropriate hotfix version that corrects issues on these systems. While the links appear to have been temporarily removed, they are still accessible directly from the original links: HAXM hotfix for OS X 10.9 and HAXM hotfix for Windows 8.1 .

  5. Install the HAXM engine, following along with the dialogs:

  6. If you haven't already created an x86 Android Virtual Device, do so now from the Android Virtual Device Manager . This is accessible in Xamarin Studio from the Tools menu by selecting Open Android Emulator Manager . Use the following template to create an x86 Android Virtual Device:

  7. After you have a device defined, in the Virtual Device Manager , select it and click Start . Adjust any launch options and Launch it. After several seconds, your accelerated Android Virtual Device will be running.

  8. From Xamarin Studio, deploy your project and pick your new x86 emulator device as the target:

  9. If using Xamarin Studio, set the project to support x86 by selecting the x86 checkbox under Options > Build > Android Build > Advanced , as illustrated by the screenshot below:

    1. If using Visual Studio, set the project to support x86 by selecting the x86 checkbox under Project > Properties > Application > Supported Architectures , as shown below:

Note: HAXM run simultaneously with VirtualBox can cause stability issues. Both can exist together on the same machine, but it is best not to run both Genymotion- and HAXM-based emulators at the same time.

Summary

This guide covered the proper installation and setup procedures for using Genymotion and hardware accelerated emulators with Xamarin.