65
votes

I have been trying to use android studio 2.0 emulator but I can not run my App on the Emulator. When I Run my App it shows the emulator with following details:

Hax is Enabled

  • Hax ram_size 0x800000000

  • HAx is working and emulator

  • runs in fast virt mode.

  • console on port 5554,

  • ADB on port 5555

After that it takes to next TAB Launching app and shows Waiting for the device to Come online After that it shows error: Error while waiting for device: Time out after 300seconds waiting for emulator to come online.

What I have tried so far.

  • Installed fresh android studio 2.0 with all update to date SDK
  • Tired to increase Emulator Memory.
  • Installed android studio 2.1 Beta with latest SDK
  • Discussed this issue on Google.

Anyone know any solution.

Thanks in advance.

Edit

I haven't found any solution yet. I opened new issue on 4th may 2016 because it is known bug in previous versions. Please report on the following link if you have same issue.

https://code.google.com/p/android/issues/detail?id=209095

21
Android API Version for application and device should match. Check if minSdkVersion and targetSdkVersion in Gradle Scripts - build.gradle (Module: app) correspond device API. Also low versions (e.g. API 15) result in ide-emulator link failure, inspite of applicatrion and device versions match.Zon
Try the solution provided here: stackoverflow.com/a/42805346/5925104Raymond Wachaga
I had to go Android SDK manager and update the emulator software. That fixed it for me.Paul G

21 Answers

68
votes

The solution for me was setting the Graphics option on the Android Virtual Device to Software instead of Automatic or Hardware.

I believe this was the solution because I am working on a windows machine that did not have a dedicated graphics card.

23
votes

You might have forwarding enabled on adb. You can try this: Quit Android studio and launch terminal. Run these commands:

adb kill-server
adb forward --remove-all
adb start-server 

Now you can launch Android Studio and try again.

8
votes

I found a workaround even though I am not sure why this is happening.

Go to Menu->Tools->Android and uncheck the option Enable ADB Integration Run the application. Now the emulator will be launched, but app will not run. Once the emulator is fully launched, check the Enable ADB Integration option and re-run the app. Now the app will be launched in the already running emulator.

8
votes

Also something that can go wrong: Make sure you exit Docker for Mac (possibly all other kind of docker installations as well).

5
votes

My problem went away after I shutdowned VirtualBox on my machine.

One thing I know is that Linux KVM can't get along with VirtualBox well.

4
votes

Go to Android Studio Command Line, and follow these steps:

  • __> cd /Users/your_root_name/.android/avd
  • __> ls
  • __> rm -r Nexus_5X_Edited_API_17.avd There are two avd files.

Rerun the app.

4
votes

You could try :

  • run the emulator from the console manually and see whether adb can connect("see") it from android studio. Does it run at all?
  • delete avd , recreate a new one for testing, always a good idea in 2.0. lot's of stuff is changing ( instant run etc.)
  • what does adb say from console ? adb kill-server , adb start-server, start an emulator, then adb devices does it list your emulator ?
2
votes

try to change this solved my issue, you may other graphics options, and change to a lower resolution model enter image description here

1
votes

Upgrade to the latest SDK, for the android emulator:

  • use 512MB RAM
  • 256MB heap

You can leave the default disk space.

1
votes

I had the same problem. I'm using Android Studio 2.3 and Debian 9.1 Stretch 64 bits. In my case, the problem was in default settings established in graphics aceleration configuration. To solve the problem I opened the AVD Manager, then I selected the device and I opened config file (config.ini) selecting "Show on disk" option whitin "Actions" column. Within the file, I changed the value setted in hw.gpu.mode variable from mesa to swiftshader. After saved the changes, the emulator started without any problems. More options availables could be found on this link.

1
votes

These are the steps I took (I'm on Linux).

  • Switched to Software rendering (works but is too slow)
  • Tried running on commanline and an error displayed.
  • Forced emulator to use the system graphic drivers.

First, as @jlars62 suggested, I tried using Switching the Graphics to "Software" and this DID work. However, the performance is far to slow so I dug a little deeper.

Then I tried running the device from the console, as @CaptainCrunch suggestion. (My device was created in Android Studio; emulator in the Sdk may be in a different place on your system)

$ ~/Android/Sdk/emulator/emulator -avd Nexus_6_Edited_768Mb_API_23

For me this produced the following error:

libGL error: unable to load driver: i965_dri.so 
libGL error: driver
pointer missing libGL error: failed to load driver: i965 
...

Which I tracked down (on ArchLinux) to mean it's using the wrong graphic drivers (Android Sdk comes with it's own). You can force the system ones on the commandline with -use-system-libs:

$ ~/Android/Sdk/emulator/emulator -avd Nexus_6_Edited_768Mb_API_23 -use-system-libs

To force Android Studio to do this you can intercept the call to "emulator" like so (See Mike42) :

$ cd ~/Android/Sdk/tools/
$ mv emulator emulator.0
$ touch emulator
$ chmod +x emulator

In the new emulator file add this:

#!/bin/sh
set -ex
$0.0 $@ -use-system-libs
0
votes

Usually, deleting the current emulator that doesn't work anymore and creating it again will solve the issue. I've had it 5 minutes ago and that's how I solved it.

0
votes

I experienced a similar issue with android studio 2.2. Re-installing a new system image didnt resolve for me. Then found this solution on this link.

unchecking the Enable ADB Integration option and checking it back seem to resolve it for me. I hope this helps someone out there.

0
votes

Android API Version for application and device should match. Check if minSdkVersion and targetSdkVersion in Gradle Scripts - build.gradle (Module: app) correspond device API.

Also low versions (e.g. API 15) result in ide-emulator link failure, inspite of applicatrion and device versions match.

0
votes

I had the same problem. I removed virtual device and run app on my phone - worked well. To remove virtual device: Click icon "AVD Manager" in Android Studio, select virtual device and in context menu click "Delete". Then turn on on the phone "Developer mode". Connect phone via USB to the laptop.

0
votes

Restarting ADB server works for me, but no need to go for it from command line.
Ctrl + Maj + A -> Troubleshoot Device Connections -> Next -> Next -> Restart ADB Server

enter image description here

0
votes

Sadly none of the solutions worked for me! I solved my problem by uninstalling existing APK from my phone and it all started working perfectly!

This started happening after I've updated android studio to latest version.

0
votes

I've face this problem, i fixed it by deleting the emulator then created a new one with higher API level.

In my case I've created API-30

-1
votes

This error is gone for me by remove the AVD and create a new one.

after some compile and clean, the error was gone away.

-1
votes

I have faced the same issue you have mentioned and could solve it by just deleting the current avd and creating a new one.It's working perfectly well now.

-1
votes

To fix it I went to Tools > SDK Manager > SDK Tools and updated Android SDK Build-Tools 31