19 Mayıs 2014 Pazartesi

How to speed up your android simulator for Intel PC's by using Intel HAXM

Developing android applications on emulator is a bit painful because of slowness. There are some external solutions like using a virtualization software (VirtualBox for example) and installing x86 build of android on to it and connecting ADB to virtual machine but there if you are using intel processor and your processor has Intel Virtualization Technology (VT-X) support, you can use emulator much more (sometimes 10X) faster by the help of Hardware Accelerated Execution Manager (Intel HAXM).

Checking Requirements and Preparation

Downloading Intel x86 Atom Image

There is an android emulator image which was compiled for x86 processors which can be downloaded by Android SDK manager. Standard emulator images are compiled for ARM processors and emulator needs to convert ARM instruction codes to x86 which causes computation overhead. You can use Intel x86 Atom Image to overcome instruction convertion overhead. Starting from Android 2.3.3 (API 10) you can download corresponding image from SDK Manager.

Intel x86 Atom System Image

Downloading and Installing Intel x86 Emulator Accelerator (HAXM)

Intel has developed an installation and management software for HAXM. It can be downloaded from Intel or within SDK manager. To download from SDK manager, scroll down to the end of packages and select " Intel x86 Emulator Accelerator (HAXM)". 


Do not forget installing " Intel x86 Emulator Accelerator (HAXM)" package DOES NOT INSTALL haxm. It only download setup files for Intel HAXM. You need to install HAXM from setup file which is located under "ANDROID SDK ROOT\extras\intel\Hardware_Accelerated_Execution_Manager" folder. You can also search for"intelhaxm.exe" file under android SDK root folder.

When you start setup you should see a welcome screen like


Then configure how much memory you want to give for HAXM. 2 GB is recommended.


After installation a new service is created. You can check status, run or stop the service from command prompt by sc.exe commands:

Check service: sc query intelhaxm
Stop service: sc stop intelhaxm
Start service: sc start intelhaxm

Creating an Android Virtual Machine Using HAXM

After installing Intel x86 Atom Image and Intel HAXM you can create a much more faster android virtual machine for your development. Open Android Virtual Device Manager from Tools|Manage AVDs... under SDK Manager menu and select New 


Now select Intel Atom (x86) for CPU/ABI. If you can not find it although you have downloaded, check Target API level.


I also recommend "Use Host GPU" option to improve display performance. Now start the virtual device you created. If everything is ok you should see a message like this:


If HAXM is not working you can see from emulator start messages:


If you get these error logs, you can check status and try to start HAXM service with commands  sc query intelhaxm and sc start intelhaxm commands as mentioned before.

Happy coding..