3547

I have got a 2.67  GHz Celeron processor, and 1.21  GB of RAM on a x86 Windows XP Professional machine.

My understanding is that the Android Emulator should start fairly quickly on such a machine, but for me, it doesn't. I have followed all the instructions in setting up the IDE, SDKs, JDKs and such and have had some success in starting the emulator quickly, but that is very rare. How can I, if possible, fix this problem?

Even if it starts and loads the home screen, it is very sluggish. I have tried the Eclipse IDE in version 3.5 (Galileo) and 3.4 (Ganymede).

20
  • 82
    Alternate is Genymotion. genymotion.com. This is much mcuh faster. Straightforward installation. Jul 14, 2015 at 2:47
  • 9
    I have found the emulator to run way (and by way I mean waaaay) faster on linux. I've got a laptop with dualboot, on windows the emulator takes about 15 minutes to start up, with linux about 30 seconds. I do not know about other operating systems like OSX, but feels like a windows thing to me. Oct 26, 2015 at 11:06
  • 11
    Android Studio 2.0 is reported to not only have a much faster emulator, but employ "instant run", which allows certain changes in your source, such as the XML, to be deployed in seconds to the target without the APK having to be rebuilt and redeployed. See android-developers.blogspot.co.uk/2015/11/… Dec 2, 2015 at 22:44
  • 13
    i think your ram is very small for an emulator to run faster. Jul 5, 2016 at 22:24
  • 9
    One way of avoiding confused comments could be to have a little notice box saying the question is older than, say, 2 years old. Tech is changing rapidly, and you would want age to affect rank, even though the question shouldn't be closed/archived as on lesser sites. Feb 21, 2017 at 14:45

77 Answers 77

1470
+50

Update

You can now enable the Quick Boot option for Android Emulator. That will save emulator state, and it will start the emulator quickly on the next boot.

Click on Emulator edit button, then click Show Advanced Setting. Then enable Quick Boot like below screenshot.

Quick boot

Android Development Tools (ADT) 9.0.0 (or later) has a feature that allows you to save state of the AVD (emulator), and you can start your emulator instantly. You have to enable this feature while creating a new AVD or you can just create it later by editing the AVD.

Also I have increased the Device RAM Size to 1024 which results in a very fast emulator.

Refer to the given below screenshots for more information.

Creating a new AVD with the save snapshot feature.

Android emulator with save snapshot feature.

Launching the emulator from the snapshot.

Launching the emulator from the snapshot.

And for speeding up your emulator you can refer to Speed up your Android Emulator!:

Using ssd hard drive has too much impact and I recommend to use more suitable ram (8 or higher)

27
  • 23
    When you update and existing device, wipe the user data on the first startup from snapshot May 10, 2011 at 11:13
  • 16
    I set the AVD as this, but seems still slow when I reboot the AVD, why?
    – zhongshu
    Jul 16, 2011 at 13:01
  • 9
    @Peter Ehrlich : Just go to the Window > Android SDK and AVD Manager and select AVD you want to launch from the list and then click on the Start button in the right pane. It will open the same you want. Jan 2, 2012 at 7:10
  • 3
    I got "Failed to allocate memory" when setting 1024. It also displayed a warning at the bottom of the configuration window saying: "On Windows, emulating RAM greater than 768M may fail dependin..." I Tried setting it to 770, and then it worked. It failed setting it to 800.
    – awe
    Aug 6, 2013 at 10:56
  • 5
    @ Msmit1993: You can use Intel x86 based emulator with HAX tool. Believe me you will will be surprised that emulator faster than your actual device. Nov 22, 2013 at 12:48
1150

IMPORTANT NOTE: Please first refer to the Intel list about VT to make sure your CPU supports Intel VT.

HAXM Speeds Up the Slow Android Emulator

HAXM stands for - "Intel Hardware Accelerated Execution Manager"

Currently, it supports only Intel® VT (Intel Virtualization Technology).

The Android emulator is based on QEMU. The interface between QEMU and the HAXM driver on the host system is designed to be vendor-agnostic.

HAXM

Steps for Configuring Your Android Development Environment for HAXM

  1. Update Eclipse: Make sure your Eclipse installation and the ADT plug-in are fully up-to-date.

  2. Update your Android Tools: After each Eclipse plug-in update, it is important to update your Android SDK Tools. To do this, launch the Android SDK Manager and update all the Android SDK components. To take advantage of HAXM, you must be on at least release version 17.

Enter image description here

  • Download the x86 Atom System Images and the Intel Hardware Accelerated Execution Manager Driver. Follow the image below:

Enter image description here

  • Install the HAXM Driver by running "IntelHaxm.exe". It will be located in one of the following locations:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    If the installer fails with the message that Intel VT must be turned on, you need to enable this in the BIOS. See the description for how to do this in Enabling Intel VT (Virtualization Technology) .

Install .exe or .dmg

  • Create a new x86 AVD: Follow the image below:

Create AVD

  • Or as for new SDK, Enter image description here
38
  • 19
    Good write-up. If you're looking for docs from Google (includes a few differences for Mac), they can be found here: developer.android.com/tools/devices/emulator.html#accel-vm
    – Todd Price
    Feb 7, 2013 at 3:11
  • 107
    Doesn't work on Linux. Feb 18, 2013 at 5:29
  • 14
    I tried this solution. It worked. However, I installed using MonoDroid and couldn't find IntelHaxm.exe for a minute. It was here: C:\Users\jbarneck\AppData\Local\Android\android-sdk\extras\intel
    – Rhyous
    Apr 29, 2013 at 14:35
  • 11
    Wow, can't thank you enough! Can't believe I was living with the slow emulator all this time. I thought that was normal. I really miss the fast start up times though, isn't there a way to enable snapshot alongside GPU acceleration?
    – Reda
    Jul 10, 2013 at 12:20
  • 3
    That works great. Thanks a lor for sharing this! When "Use Host GPU" is enabled, the emulator flickers heavily, but also without Host GPU enabled it's really fast now. Sep 12, 2013 at 9:23
604

Try Android x86. It's much faster than the Google Android emulator. Follow these steps:

  1. Install VirtualBox.
  2. Download the ISO file that you need.
  3. Create a virtual machine as Linux 2.6/Other Linux, 512 MB RAM, HD 2 GB. Network: PCnet-Fast III, attached to NAT. You can also use a bridged adapter, but you need a DHCP server in your environment.
  4. Install Android x86 on the emulator, run it.
  5. Press Alt+F1, type netcfg, remember the IP address, press Alt+F7.
  6. Run cmd on your Windows XP system, change the directory to your Android tools directory, type adb connect <virtual_machine_IP>.
  7. Start Eclipse, open the ADT plugin, find the device, and enjoy!
36
  • 6
    so I connected. How do I get the screen to be vertical? I also don't see the phone hardware buttons anywhere.
    – Alex
    May 20, 2011 at 1:54
  • 9
  • 4
    Just to remind you guys that you need to enable mouse integration in the device menu if you like to use the mouse in the emulator!
    – kakopappa
    Jul 26, 2011 at 4:05
  • 13
    Note that if you are using anything that's specific to ARM (like Mono for Android, for instance), it won't work on Android x86. Sep 7, 2011 at 17:31
  • 11
    For me, netcfg is showing lo 127.0.0.1 255.0.0.0 0x00000049 Is here 127.0.0.1 IP which I should mention in adb command ? its showing "unable to connect to 127.0.0.1:5555" Please help.
    – Riz
    Oct 16, 2011 at 12:00
322

UPDATE: The latest version of Android studio (2.x) made major improvements to the bundled emulator. It's responsive and has a whole bunch of features.

For those still interested: Try using Genymotion. You can download a version for Windows/Mac OS X/Linux after registering. A plugin for Eclipse is also available:

The installation of the plugin can be done by launching Eclipse and going to "Help / Install New Software" menu, then just add a new Update Site with the following URL: http://plugins.genymotion.com/eclipse. Follow the steps indicated by Eclipse.

This emulator is fast and responsive.

GenyMotion allows you to control various sensors of your device including the battery level, signal strength, and GPS. The latest version now also contains camera tools.

14
  • 53
    Genymotion is by far the best way to develop/test your app. It's not only quicker and better than a traditional emulator. It's quicker than a real device too. I use it for 99.99% of my deployments as it means I can see the results in a fraction of the time. It also means I can use OpenGL ES and other things which are not available on a normal emulator. Sep 14, 2013 at 18:32
  • 2
    Newer versions of Genymotion do not include the GooglePlay Services. This link shows how to install them manually: forum.xda-developers.com/showthread.php?t=2528952
    – Apfelsaft
    May 7, 2014 at 6:35
  • 2
    It's fine until you reinstall the VBox or any of the tools they use, then it stops working - uninstall doesn't help. But it was good while it lasted.
    – milosmns
    Mar 29, 2016 at 14:15
  • 5
    Genymotion is not free anymore(As it was when I used it last time),Not sure if this is still the best choice for developers
    – Zain Ali
    Sep 12, 2016 at 14:09
  • 6
    Since Android studio 2 the emulator has been improved ten fold. It has plenty of features and performs well.
    – blaffie
    Nov 2, 2016 at 14:28
219

The emulator included in your (old) version of Eclipse is very slow.

Recent emulators are faster than they use to be in 2010. Update your SDK/IDE.

Personally, I use a real phone to do my tests. It is faster and tests are more realistic. But if you want to test your application on a lot of different Android versions and don't want to buy several phones, you will have to use the emulator from time to time.

6
  • 1
    vmware runs with unnoticed performance difference compared to the real machine. Even if emulator is emulating ARM it should be faster, even on the same system frequency and my PC is 3.6GHz which is slower than 500 MHz android phone.
    – NickSoft
    Mar 11, 2012 at 11:04
  • @rds - So should my AVD emulate intel instead of ARM for it to load faster ? Dec 22, 2013 at 5:14
  • nope, this is not optimized for x86... it emulates x86 phone hardware - while the common phone nowadays easily outperforms the machine in question:) May 28, 2014 at 18:58
  • You do realize that both run the same emulator right? android-sdk\tools\emulator-x86.exe, nothing to do with Eclipse, you've probably just started using Intel x86 images with Intel HAXM.
    – Dan Dar3
    Sep 8, 2015 at 21:31
  • Well compared to how slow they where back in the days they go in lightning speed now.
    – Bolling
    Sep 18, 2015 at 12:57
140

The startup of the emulator is very slow. The good thing is that you only need to start the emulator once. If the emulator is already running and you run your app again, the emulator reinstalls the app relatively quickly. Of course, if you want to know how fast it will run on a phone, it is best to test it on a real phone.

5
  • 42
    If it takes a couple of hours, there is probably something else wrong. It only takes a couple of minutes for me.
    – Jay Askren
    Oct 25, 2010 at 12:59
  • what is your hardware configuration and operating system? Dec 16, 2010 at 23:16
  • @Junior Mayhe: I've programmed for Android using Windows, Mac, and Linux. I use Mac most often right now. The computers I've used have 2 to 4 gigs of RAM and a fairly modern 2 to 3 ghz processor. In all cases, it seems take several minutes to first launch the emulator, but then re-installing the app is fairly quick.
    – Jay Askren
    Dec 17, 2010 at 15:23
  • 3
    @user286101: loading a new apk into an already running emulator takes no more than 10 seconds in my old laptop (1.6Ghz dual core, 1GB RAM), the only problem is I often forgot to leave the emulator running so I had to go through the slow rebooting process (which takes 3-5 minutes).
    – Lie Ryan
    Aug 12, 2011 at 14:49
  • @LieRyan "should take no more than 10 seconds" sadly, that's about the time of a simular sized C++ project in today's machines.
    – kizzx2
    Jan 14, 2012 at 2:41
132

Intel released recommended installation instructions for the ICS emulator on May 15, 2012. This worked for me. The emulator is now fast and the UI is smooth.

The first half of the instructions are detailed enough, so I will assume you were able to install the Intel x86 Atom System Image(s) using the Android SDK manager, as well as Intel HAXM.

Now to ensure that everything else is set up so you can enjoy a highly performing emulator:

And start it:

sudo kextload -b com.intel.kext.intelhaxm (mac)

If HAXM is working properly, you may see this message when launching the emulator:

HAX is working and emulator runs in fast virtual mode

Otherwise, you may see this error:

HAX is not working and the emulator runs in emulation mode emulator:
Failed to open the hax module

  • Use GPU emulation. You cannot use the Snapshot option when using GPU emulation as of this writing. Ensure that GPU emulation is set to "yes".

  • Set the device memory to 1024  MB or more, but not more than the Intel HAXM setting. I use 1024  MB per device and 2048 for HAXM.

Always double-check the settings after saving! The emulator is very picky about what it allows you to set, and it will revert configurations without telling you.

With these settings the software keyboard no longer appears, nor do the on-screen back, menu, and recent keys. This appears to be a limitation of the current ICS Intel x86 system image. You will need to use the keyboard shortcuts.

On Mac OS you will need to hold fn + control for the F1 - F12 keys to work. Page up/down/left/right can be performed using control + arrow keys.

12
  • Be careful when using a virtual machine with Intel HAXM. Apparently the virtual environment can become corrupt if system memory is exhausted.
    – James Wald
    Jun 14, 2012 at 15:28
  • android-dev.ro/web/guest/home This is another good step-by-step instruction for setting up a HAXM x86 AVD in Eclipse. Additionally it explains how to set up Google APIs.
    – sulai
    Oct 15, 2012 at 13:58
  • 2
    Not sure if that's me doing something wrong, but I closely followed the guide and got: "HAX is working and emulator runs in fast virt mode", just before the device started, but... it actually loads even slower than original arm version. I'm on Mac and CPU supports VT.
    – jayarjo
    Dec 9, 2012 at 18:46
  • 4
    This is the right answer.. I have Intel x86 processor installed and I have GPU enabled. The emulator is very responsive and smooth with these settings. FINALLY ! If you need help setting it up on windows or mac let me know. Adios all
    – Tony
    Feb 9, 2013 at 23:22
  • 2
    Thanks for this, tested on Windows 7 Pro, intel core i7 3770 and it works. On windows Intel Hardware Accelerated Execution Manager (HAXM) only need to be installed, it will start automatically. Just create an AVD with Intel Atom x86 and ensure 'use host GPU' is selected
    – gerrytan
    Mar 14, 2013 at 0:35
113

You can create emulator.bat with following command to start the emulator. It will start faster.

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

Or on Unix (Mac or Linux flavors):

emulator -cpu-delay 0 -no-boot-anim @<avd name>
2
  • Adding -no-boot-anim reduced the startup time by around 38%. Thanks!
    – Timothy003
    Jun 10, 2011 at 21:39
  • 3
    (Android Studio) Select Run > Edit Configurations.... In the left panel of Run/Debug Configurations dialog, select or create a configuration. Under Target Device options, select AVD. In Emulator tab, enter -no-boot-anim in Additional command line options field
    – Ivan Chau
    Jun 26, 2015 at 3:58
105

I've noticed that the emulator starts much faster if there's no Dalvik Debug Monitor Server (DDMS) connected. So if you start the emulator from Virtual Device Manager "SDK Setup.exe" and Eclipse is not started, the emulator works faster.

If you start the emulator from Eclipse: DDMS is there, so sometimes the emulator is extremely slow, but sometimes it's faster.

2
  • 2
    @Shekhar: DDMS = Dalvik Debug Monitor Server
    – Lie Ryan
    Aug 12, 2011 at 14:50
  • if we run the emulator through Cordova command line of Git Bash... how to disable the Dalvik Debug Monivor Server anyway?
    – gumuruh
    May 2, 2015 at 15:33
62

Emulators are slow. There's really nothing you can do about it, but there are alternatives to the emulator.

  1. Genymotion - Preferred

  2. VirtualBox

  3. BlueStacks

  4. YouWave

  5. Windows Android Emulator

  6. Jar of Beans

  7. Andy

To make your emulator faster, you can host a GPU and use a lighter Android version (Android 2.3 (Gingerbread)). Developing on a Mac would be better. Why use an emulator, BTW? Using a real phone makes more sense.

4
  • I have used Genymotion, and I have to say it is comparatively fast than the default Android emulator.
    – Anurag
    Nov 18, 2015 at 7:21
  • "Why use an emulator, BTW? Using a real phone makes more sense." I'm at work, and we don't have enough phones to go around. I'm not a tester, so I don't get priority on them.
    – Almo
    Jan 30, 2018 at 15:01
  • the emulator isn't slow, but your machine. x86 images suggested. Mar 2, 2018 at 11:01
  • @Almo, Real phones are a good choice, but emulator give you space to make your app compatible with most of android Version + design in different screens, ... that's the way to let your app run with fewer bugs before it goes to testing with real phones. I have personally seen some of the design issues can be easily fixed via checking them in the different emulators ... Not all can afford to have at least 1 phone of different os and screen sizes ...
    – Bhuro
    Aug 27, 2018 at 3:58
52

As of Revision 17 of Android SDK Tools, the emulator can use graphic acceleration and CPU-provided extensions for better efficiency. The prerequisites and full configuration and user notes are at:

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

For enabling GPU aceleration, run the emulator from the command line or add "-gpu on" to the additional emulator command line options in the AVD configuration.

emulator -avd <avd_name> -gpu on

For using the CPU machine extensions, you have to install the driver (caution because it can conflict with existing VirtualBox or VMware drivers). Once it's installed it will be used automatically whenever you use an x86-based AVD.

2
  • I just discovered this myself. Makes the emulator run almost as well as a real device!
    – gak
    Apr 13, 2012 at 0:20
  • Note that to use GPU acceleration you must use Android 4.0 or later. Also, with current tools you can't use BOTH snapshots and GPU acceleration at the same time, you have to choose (I personally prefer having GPU acceleration and slow emulator start).
    – mav
    Nov 5, 2012 at 21:09
48

Try to disable your antivirus. Maybe it will make emulator a little bit faster.

5
  • 7
    I found this to be true as well -- I removed AVG Free and installed MS Security Essentials, and the emulator starts noticeably faster. YMMV. Mar 19, 2010 at 20:01
  • 4
    it's still super sluggish on linux systems... which obviously don't typically have av
    – alex.pilon
    Mar 1, 2012 at 17:30
  • 3
    I have NO antivirus. Still takes ages.. Jul 28, 2012 at 12:54
  • My emulator is so slow on my Linux without AV that it just opens a black window and hangs.My other computer with Windows doesn't support vt-x so it doesnt work.
    – Suici Doga
    Feb 18, 2016 at 4:04
  • Try to reboot your computer, Maybe it will make emulator a little bit faster. Jun 7, 2018 at 9:27
46

Android SDK rev. 17 supports Virtual Machine Acceleration using AMD and Intel virtualization technologies.

This feature can improve the emulator performance a lot!

See the following section in the Android emulator documentation for more details: Configuring Virtual Machine Acceleration

Don't forget to install the appropriate driver for your operating system:

After you have installed the drivers and downloaded an Android X86 system image (as described in the documentation) you should be able to create a new AVD using the x86 image:

For example:

  • Target: Intel Atom x86 System Image - API Level 10
  • CPU/ABI: Intel Atom (x86)
2
  • unfortunately, currently AMD-V is only supported on linux (SDK rev 17). Jul 18, 2013 at 11:29
  • Intel HAXM made my x86 AVD 200%~300% faster then before! Great!
    – Lcsky
    Dec 5, 2013 at 7:43
42

The option -cpu-delay <delay> described in Emulator Startup Options can help.

1
  • 2
    The link goes nowhere now. Is this still relevant?
    – Andrew S
    Jan 9, 2018 at 1:04
42

The emulator seems to slow itself down when idle. This is made apparent by rapidly mousing over the keys on the side and observing the light-up responses. As a workaround, I pass -icount auto to QEMU when starting the emulator. You can make a batch file called my_avd.bat to do it for you:

emulator @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd -- launch a virtual device named 'my_avd'
  • -no-boot-anim -- disable animation for faster boot
  • -qemu args... -- pass arguments to qemu
  • -icount [N|auto] -- enable virtual instruction counter with 2^N clock ticks per instruction

This made animations buttery smooth and sped up adb install tenfold.

6
  • why does icount auto makes it faster?
    – Pacerier
    Oct 27, 2011 at 12:43
  • thank you. -no-boot-anim does seem to boot android faster!
    – Ajay
    Dec 30, 2011 at 20:51
  • Impressive .... Specifically I was stuck with very low transfer speed of 'adb'. Now it's really fast, just as fast as x86 image. Thank you Aug 25, 2013 at 5:30
  • I am using eclipse. Do you know how to set up those options in my environment?
    – kta
    Mar 11, 2015 at 6:16
  • 1
    @MSS I have no idea... It's been years since I used the Android emulator. Sorry!
    – Timothy003
    Apr 5, 2015 at 21:06
36

Android emulator release 9 has a new "snapshot" feature. You can save the state of the emulator (make an image of the emulator) and avoid booting when you start the emulator.

36

You can review the emulator issues on the Google I/O 2011: Android Development Tools talk, starting a 0:40:20.

The emulator runs slowly because the complete Android environment is running on emulated hardware and the instructions are executed on an emulated ARM processor as well.

The main choking point is rendering since it's not running on any dedicated hardware but it's actually being performed through software rendering. Lowering the screen size will drastically improve emulator performance. Getting more/faster memory isn't going to help.

They've mentioned, at the time, that they're developing an interface that would allow the emulator to pipe certain instructions through the host hardware, so eventually, you'll be able to leverage emulator performances with the raw power of desktop hardware.

31

The current (May 2011) version of the emulator is slow particularly with Android 3.0 (Honeycomb) primarily because the emulator does not support hardware GL -- this means that the GL code gets translated into software (ARM software, in fact) which then gets emulated in software in QEMU. This is crazy-slow. They're working on this problem and have it partially solved, but not with any sort of release quality.

Check out the video Google I/O 2011: Android Development Tools to see it in action -- jump to about 44 minutes.

1
  • Does it mean that if we buy the latest Raspberry Pi with ARM processor, we will be able to use the Android ARM emulator without the slowness of emulating ARM on x86 / x86_64? Is the latest Raspberry Pi CPU and GPU good enough to have a fast emulator? Does Google provide an ARM version of Android sdk-tools in order to use an ARM emulator?
    – baptx
    Oct 14, 2019 at 8:45
31

Use the Intel x86 Emulator Accelerator

First, install the Intel x86 Emulator Accelerator (HAXM). This can be downloaded directly from Intel or using Android SDK Manager. In the SDK Manager, it's located under Extras.

SDK Manager Screenshot

In the version of Android Studio I used (0.8.9), Android SDK Manager downloads HAXM but doesn't actually run the installer (I assume this will be fixed in later releases). To run the installer I had to go to C:\Program Files (x86)\Android\android-studio\sdk\extras\intel\Hardware_Accelerated_Execution_Manager and manually launch intelhaxm.exe.

HAXM works with Intel devices, so created a new Emulator with Intel CPU.

Create a new AVD using Intel Atom x86

This improved things considerably, but the emulator was still feeling a bit sluggish. The final step was selecting Use Host GPU in Android Virtual Device Manager (AVD).

AVD Create Options Screenshot

After these changes, Android Emulator was launching in 5-10 seconds and running without any noticeable lag. Be aware that these features are hardware dependent (CPU/GPU) and may not work on some systems.

4
  • Use Host GPU is the key! thanks was wondering why in one machine I had a fast emu and in another I had not
    – Keoz
    Feb 13, 2017 at 21:26
  • you should enable virtualization on BIOS, if you had an AMD processor then enable Vt-x
    – Anu Martin
    Sep 12, 2017 at 9:06
  • Notice, this HAXM is only needed (and available) for Windows, not for Linux.
    – suther
    Sep 13, 2017 at 10:58
  • Warning: Starting with emulator 33.x.x.x, Intel HAXM is deprecated. Please use Android Emulator hypervisor driver instead. Intel HAXM support may be completely removed in future. developer.android.com/studio/run/… Nov 29, 2023 at 21:41
30

Try Genymotion for Android Studio. Blazing fast! Just needs one time installation. No more AVD pain.

29

To add further information to this.

I have recently upgraded my Ubuntu installation to Ubuntu 10.04 LTS (Lucid Lynx) which in turn updated my Java version to:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

And now the emulator (although takes a while to start) seems to be running faster than previously.

It might be worth people upgrading their JVM.

4
  • 64-bit java is faster ( ~2 times) than 32-bit java on same machine.
    – user502187
    Sep 8, 2011 at 15:19
  • 16
    I can't see why the emulator speed should depend on the Java version. The emulator is not written in Java and does not run on the JVM. Nov 1, 2011 at 19:56
  • I'm using 64-bit Oracle Java 1.6.0_26 and my Emulator is slower than a turtle... its painful. Core2Quad, 64-bit Java+Ubuntu 11.10, 8GB Ram.
    – djangofan
    Dec 12, 2011 at 2:54
  • If it's not written in Java and does not run on the JVM, then why does it require Java (and not any version of Java either!)
    – Rolf
    May 25, 2014 at 17:03
29

A new option is the Visual Studio Emulator for Android--it's fast, Hyper-V, x86, and free to download even without VS.

4
  • Is it only for Windows?
    – Robert
    Jul 21, 2015 at 7:12
  • Yes--it uses Hyper-V, which is only on Windows. Jul 22, 2015 at 18:58
  • I agree with the claim - the best emulator on the planet. I am a witness after suffering from using other emulators for quite a few years. It is so much better than others, especially when it comes to debugging. Genymotion is not bad but it requires VirtualBox that conflicts with Hyper-V. This answer needs to go to the top.
    – Hong
    Aug 1, 2015 at 18:20
  • 2
    @JohnKemnetz may I add only on Windows Professional or higher. Aug 6, 2016 at 23:32
26

Here's what I noticed nobody mentioned it at all.

Assign all available processors to the emulator

Here's what you can try. It does speed up the emulator for me, especially during loading time. I noticed the emulator is only using a single core of the available CPU. I set it to use all available processors.

I'm using Windows 7.

When the Android emulator is starting, open up the Task Manager, look under the Process tab, look for "emulator-arm.exe" or "emulator-arm.exe *32"... Right click on it, select Processor Affinity and assign as much processor as you like to the emulator.

Enter image description here

4
  • 3
    This sped things up quite a bit on my Windows 7 machine Jan 11, 2013 at 20:45
  • How to do that on Windows 8?
    – Eng.Fouad
    Feb 17, 2013 at 18:37
  • I suppose you could use Windows 8 task manager to do the same ? Sorry I don't have windows 8 at the moment. Mar 1, 2013 at 6:14
  • 3
    On Windows 10, and I assume Windows 8 as well, you have to go to the Details tab in the Task Manager to do this. Though in my case all 4 cores were already selected. I wish they'd allow AMD devices to run the x86 images as well, even without the HAXM driver they should be faster than the ARM images.
    – A.Grandt
    Jan 8, 2016 at 8:32
22

After developing for a while, my emulator became brutally slow. I chose wipe user data, and it was much much better. I am guessing that it takes time to load up each APK file you've deployed.

22

Well, since somebody suggested Android x86 as an alternative testing emulator, I'll also present my favorite. This might not be an alternative for everyone, but for me it's perfect!

Use the Bluestacks Player. It runs Android 2.3.4 and is very fluid and fast. Sometimes it is even faster than a normal device. The only downside is, that you can just test apps on the API Level 10 and just on one screen size, but it's perfect just for testing if it's working or not. Just connect the Player with the adb by running

adb connect 127.0.0.1 

After compiling, it installs instantly. It is very impressive, considering I have rather an average computer hardware (dual core with 4  GB of RAM).

3
  • It's really very fast! How can I modify it for requirements like 7' (800x480) tablet? I tried change app size but it's already a tablet.
    – nesimtunc
    Jun 3, 2013 at 12:44
  • I think you meant "fluid and fast" :) Anyway, thanks. Nice tip, too bad it runs Android 2.2
    – Rolf
    May 25, 2014 at 17:23
  • 2
    @Rolf Oh right, haha :) However, this answer is old. You should check out Genymotion. It's way better.
    – Ahmad
    May 25, 2014 at 18:00
21

I had intermittent slow emulator (SDK v8.0) load times, up to three minutes on Intel Core i7 920 2.67 GHz CPU running on Xubuntu 10.04 VirtualBox 3.2.12 guest with Eclipse (3.6.1) loaded. I changed the VirtualBox guest memory from 1024 MB to 2048 MB and from that point on, I never experienced the slowness again (load times consistent at 33 seconds, CPU load consistent at 20%). Both Eclipse and the emulator are memory hogs.

21

Android emulator is dead slow. It takes 800MB memory while running. If you are on Windows, You can use Microsoft Android Emulator. It is superb, provides you functionalities more than Android Studio Emulator. And most important it is fast ( consumes 13MB only). It comes with Visual Studio 2015 Technical Preview. I am using it and happy with it. I downloaded and installed entire VS pack, I need to look how we can install VS Emulator only.

Visual Studio Emulator for Android

EDIT: Try https://www.visualstudio.com/vs/msft-android-emulator/

6
  • how do you calculate dude? it's an operation system and need a lot of ram to run. and 13 Mb It's really stupid please watch again.
    – MSS
    Apr 4, 2015 at 18:14
  • @MSS I do not know the background history behind VS Emulator but I did it practically and found what I said.
    – Anil8753
    Apr 5, 2015 at 12:04
  • Maybe You Made Mistake I Meant It's Impossible To Emulate Real Android OS in such Small Piece Of RAM And VS Emulator Must Be A Simple Debugging Environment For C# Made Applications And Probably Unable To Run Standard Android Application.
    – MSS
    Apr 5, 2015 at 12:17
  • Yes, I am not sure about that it is real full Android emulation or just a light basic Android features emulation. Please let it give a try. Run this emulator first and later deploy your Android studio App.
    – Anil8753
    Apr 5, 2015 at 14:47
  • I am developing android app using Android Studio and deploying it similar to other ADB devices. Just give a try
    – Anil8753
    Apr 5, 2015 at 16:43
18

I noticed that the my emulator (Eclipse plugin) was significantly slowed by my Nvidia graphics card anti-aliasing settings. Removing 2x anti aliasing from the graphics menu and changing it to application controlled made it more responsive. It is still slow, but better than it used to be.

18

To reduce your emulator start-up time you need to check the "Disable Boot Animation" before starting the emulator. Refer to the Android documentation.

If in case you don't know, you do not need to close the emulator every-time you run/debug your app. If you click run/debug when it's already open, your APK file will get uploaded to the emulator and start pretty much immediately. Emulator takes annoyingly long time only when it started the first time.

Here are some tips to speed up the Android emulator: How to speed up the Android Emulator by up to 400%.

15

Good way to speed up Android Emulator and app testing is Install or Upgrade your Android Studio to Android Studio 2.0 version and then go to app open Settings/Preferences, the go to Build, Execution, Deployment → Instant Run. Click on Enable Instant Run. And After That This will ensure you have the correct gradle plugin for your project to work with Instant Run. enter image description here

And Instant run will look like this New Run & Stop Actions in Android Studio for Instant Run

However Android Studio is right now in Preview you can try it now.

3
  • 1
    Android Studio 2.0 is stable now. Instant run increases build speeds not emulator speed, check for more info: <android-developers.blogspot.lt/2016/04/android-studio-2-0.html> Apr 8, 2016 at 12:47
  • The new emulator runs ~3x faster than Android’s previous emulator. and now you can now push apps and data 10x faster to the emulator than to a physical device. android-developers.blogspot.ae
    – Umer
    Apr 9, 2016 at 8:40
  • 1
    Please be aware that when you are using Instant Run, there are some issues when installing on devices < 5.0. If you see that your app crashes on devices from kitkat and below, disable instant run and re-build it. You should be good to go.. Jun 9, 2016 at 12:20

Not the answer you're looking for? Browse other questions tagged or ask your own question.