The frequent question between Android developers is: Why is the Android emulator slow?
The Android emulator is a very powerful tool that greatly improves the testing capabilities when a real device is not available. It is possible to simulate the front and back camera, sd card, internal storage, 3G network with different speeds and so on.
In real scenarios, using the default Android Emulator Images is a cumbersome process and in many occasions it is not feasible while testing complex Android applications mainly because of its slowness. Instead, developers are forced to use a real device for testing their apps.
In this post I would like to describe you an interesting method that helps to speed up the Android emulator. As a prerequisite, you need an Intel VT enabled system.
The steps required are the following:
1. Open the Android SDK Manager (from the SDK folder or equivalently from the Window menu in Eclipse) and install the packages:
- The Intel x86 Emulator Accelerator (HAXM installer) from the “Extra” folder (usually placed on the bottom of the list). Take a look at the picture at the beginning of the post, and
- One (or more) Intel x86 Atom System Images based on your project requirements (see the screenshot above).
2. From the top of the SDK manager window, get the SDK path, open it and navigate to the following folder:
/extras/intel/Hardware_Accelerated_Execution_Manager
From within this folder, install the Intel HAXM application (by clicking on the dmg file on the Mac or on the executable file on Windows)
3. Once the Intel HAXM application has been installed, open the Android Virtual Device Manager and create a new Virtual Device specifying as a target an API Level that has the Intel Atom Images (previously downloaded) and as CPU/ABI the Intel Atom (x86). Indeed, check the “use Host GPU” as emulation options. Check the screenshot on the right.
That’s it. Now start the new AVD and check how fast it is compared to the default Android Images.
Intel Android System Images can be used for testing any Android applications and any device, the Ltouch Touch panels as well.
As usual comments and suggestions are welcome! 🙂