Android Get A Faster Emulator

The native emulator is very slow in Android. But, you can make a faster emulator using Intel Atom x86, but only if your computer has an Intel processor. Now, you have to follow some steps in order to use the Intel Atom x86 Emulator.

Step 1: Enable Intel Virtualization from BIOS

Step 2: Install the HAXM driver (Intel Hardware Accelerated Execution Manager).

  •  It can be found under:
C:\Program Files (x86)\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager  

NOTE: This path might differ. It depends where you install your Android SDK. I usually install it in C:\Program Files (x86). I have Windows 64 bit so this is why my Program Files have (x86).

  • Now, if you didn’t install everything from SDK Manager, you must install the Intel x86 Atom System Image for your desired Android target. In our tutorial I will use Android 4.0.3 – API Level 15.
  • If you meet all the requirements from above and you don’t need Google Maps, you are ready to use your faster emulator by creating a new emulator and select at CPU/ABI Intel Atom x86 (see the image from Step 3).

Step 3: Create an emulator with Google APIs

  • You have to create a Google APIs (Google Inc.) – API Level 15 emulator ARM
  • We need to do this because we will have to pull out the Google maps from this emulator in order to push them into our Intel x86 emulator.
  • Open cmd and put the following commands, but please don’t forget to use your OWN path where you installed the Android SDK. These commands will open your just created emulator.
 cd C:\Program Files (x86)\Android\android-sdk\tools  

 emulator -avd Name_Of_Your_Emulator -partition-size 1024  
  • Now you have to extract the Google Maps from your emulator. To do this, you have to open another cmd (don’t close the previous cmd because your emulator will close too and we need it to pull out the Google maps). Put the following commands:
 cd C:\Program Files (x86)\Android\android-sdk\platform-tools  

 adb pull /system/etc/permissions/com.google.android.maps.xml  

 adb pull /system/framework/com.google.android.maps.jar  
  • Now if you want you can remove this emulator. We won’t need it anymore.
  • Now you have to create a new emulator but this time you have to choose your desired Android Target and set it to be Intel Atom x86 and also set the Internal Storage to 512 (this is needed because otherwise the emulator won’t have enough space to store all the maps). In my example I will use Android 4.0.3 – API Level 15.

 

    • Now you have to open this new created emulator. To do this put the following commands:
 cd C:\Program Files (x86)\Android\android-sdk\tools  

 emulator -avd Name_Of_Your_New_Emulator -partition-size 1024  
  • Remount the image. To do this put the following commands
 cd C:\Program Files (x86)\Android\android-sdk\platform-tools  

 adb remount
  • Now you have to introduce the Google Maps into your new created emulator. To do this put the following commands
 adb push com.google.android.maps.xml /system/etc/permissions  

 adb push com.google.android.maps.jar /system/framework  
  • Download mkfs.yaffs2.x86 and put the file in
     C:\Program Files (x86)\Android\android-sdk\platform-tools  
    

    Once again don’t forget to use your own path (where you installed your Android SDK)

  • Now you have to push this file and create the new system image:
 adb push mkfs.yaffs2.x86 /data  

 adb shell
 cd /data
 chmod 777 mkfs.yaffs2.x86
 ./mkfs.yaffs2.x86 /system system.img

 exit 
 adb pull /data/system.img  (This will take some time so please be patient)  
  • Copy system.img (you can do this from cmd if you want but I copy-pasted it) into avd directory. The system.img is under
    C:\Users\YourUserName\AppData\Local\VirtualStore\Program Files (x86)\Android\android-sdk\platform-tools  
    

    and should have a size of about 280 MB.

The avd directory is under

  • C:\Users\YourUsername\.android\avd\YourEmulatorName.avd
    

    DO NOT forget to change the path if it is not like mine.

  • Reboot emulator

http://codebutler.com/2012/10/10/configuring-a-usable-android-emulator/

Scroll to Top