A couple of days ago (15th April 2017) I updated Android Studio with all the latest updates. Now when I try to run an app, the emulator window opens but I just get a message "waiting for device to come online". Eventually this times out and I get a message "installing APK", where it just seems to get stuck. I have searched the site and tried various advice including:
Deleting all the emulators and re-creating
Turning off the emulator in SDK manager, re-starting Android Studio and turning the emulator on again
turning off instant run
re-booting my PC, in case some update needed a re-start
The emulator I have is Nexus5X API23.5554
I have also deleted my app and created a completely new "hello World" app that does nothing but display one line of text, but I still get the same problem.
Has anyone any other ideas?
I ran into this issue too. It seems to be a bug with recent changes to the Android emulator. There is a workaround:
Launch the emulator independently from the Android Virtual Device (AVD) manager (there's an icon in the main Android Studio window)
Run your app. You'll notice the device name has changed from whatever the emulator is called to some generic name like 'Android x86 API 25'.
The app will run correctly on the emulator. You'll notice in logcat that the device name is 'emulator unknown'.
Hopefully Google will fix this over the next few days.
I couldn't get any emulator going at all, with no error messages, just 'waiting for device to come online'.
When tried to stop and start adb.exe in terminal:
adb kill-server
adb start-server
it said that adb is outdated. I had latest adb version downloded but Android Studio was trying to use some other file which was older version.
Finally, I checked environment variables and removed paths to:
C:\NVPACK\android-sdk-windows\platform-tools
and
C:\NVPACK\android-sdk-windows
as the newest version of SDK platform-tools I had on drive E: not C:, and is all working now.
Enzokie - Thanks. Nothing there seems to work, though. As a novice, I always assume that if something is wrong, it's my fault, but maybe not this time! I shall do as you suggest and raise it with Android unless anyone else suggests something that works.
My work around was to use a Nexus 5 instead of Nexus 5X.
If you don't know how to make an new emulator its tools>android>AVD manager> create new virtual device. Then just pick a new emulator and hit next until you're finished or customize it.
Resetting the ADB did the trick for me.
For Mac, In Android Studio -> Tools -> Android -> Android Device Monitor -> Under devices -> Down arrow there will be reset ADB option.
What worked for me was to wipe the emulator data. You can do this from AVD manager:
Tools -> AVD Manager -> Right click on virtual device - > Wipe Data
Hi I had the same Problem...so I did this:
Start your emulator, you will get the "wating for device to come online" error msg.
Wait till the emulator boots, then stop the process.
Now, on the emulator go to settings and make your "device" (emulator) to a developer device.
Check this, if you dont know how to do it -> https://www.digitaltrends.com/mobile/how-to-get-developer-options-on-android/
Then go on "Developer options" (in settings) and switch on the "usb-debugging" option. Remeber you PCs fingerprint.
Hope this was helpfull....
Related
I installed Microsoft's Android Emulator from here which can now work without disabling Hyper-V on Windows 10. I was following the instructions in this post and everything was working smooth until yesterday. I was successfully able to debug my app in MS android emulator.
Today morning I closed the emulator and started it again. Now, When I start running the app to test it then the MS Android emulator is not showing up in Select Deployment Target window of Android Studio as below. Nexus 5X API 28 emulator visible under Available Virtual Devices is Google's Android emulator which doesn't work with Hyper-V enabled due to reasons mentioned here.
I've already launched the MS Android simulator and it is up and running:
I can see it running in Hyper-V as well as shown below:
Not sure what happened suddenly and it stopped working altogether. Can anyone suggest me the reason behind it or I'm missing something?
If it didn't detected by IDE, try to rerun the emulator and check if it is detecting again or not.
Also, you can try this too:
Tools -> Android -> Enable ADB Integration
If it is already enabled, try to disable and re enable it, seems like this works most of the times.
EDIT: You may want to check:
https://stackoverflow.com/a/38788436/4409113
Changing the value Path then running following commands:
adb kill-server
adb start-server
Might help.
I happened to resolve it by chance. Sharing my experience in case it helps someone in future.
Initially what I was doing is as below:
Start Visual Studio Emulator for Android application which contains the list all the device profiles.
Choose an appropriate device profile and install it.
Run the installed profile and launch the emulator.
Start Android studio, open the project and launch the app.
I simply reversed the above steps to resolve my issue. First close everything including Android Studio, emulators, device profile window etc.:
At first, start Android studio, open the project and hit Run app button to show Select Deployment Target window.
Now, start Visual Studio Emulator for Android application which contains the list of all the device profiles.
Choose an appropriate device profile and install it.
Run the installed profile and launch the emulator. Wait for the Android operating system to get started fully.
The Connected Devices section in Select Deployment Target window would refresh on its own to start showing Microsoft's Android Emulator.
The adb.exe can be seen as an infected file by antivirius software. So need to exclude once reinstated.
I recently updated to Android Studio 2.3, and now when I try to run the application, the emulator does not come online. It times out after 300 seconds.
Additionally, The app has been experiencing a FATAL EXCEPTION ERROR (OOM), and I am not sure how to fix that either, or if that is part of the emulator problem.
Any help is much appreciated. Again, my knowledge in the program is very limited so if your answer can be kept simple, that would be great.
Following worked for me on Android Studio 3.x.
Step 1:
Open AVD Manager.
Step 2:
Right click and Wipe data for the virtual device you're testing on.
I too had the same problem, then I went to AVD manager and right click on the emulator and stopped it and I RUN the application again and this time it worked.
It may be a temporary solution but works for the time being.
Tools -> AVD manager -> right-click on the emulator you are using -> Stop
Now Run your application again.
Note: Sometimes closing the emulator directly is not working for the above-mentioned problem but stopping it from the AVD manager as mentioned is working.
In case you are on Mac, ensure that you exit Docker for Mac. This worked for me.
Three days on this, and I believe there's a race condition between adb and the emulator. On a request to run an app, with no emulator already running, you see the "Initializing ADB", then the emulator choice, it starts and you get "Waiting for target to come online". An adb kill-server, or a kill -9, or an "End Process" of adb with the task manager will cause adb to die, restart, your APK installs and you're good to go. It does seem funky to me that an "adb kill-server" causes adb to die and then restart here, but that's another mystery, maybe.
Another case is Android Emulator should be reinstalled. This can happen, when you install a higher version of Android Studio, then update SDK for it, and go back to previous one.
Tools - Android - SDK Manager - SDK Tools - Android Emulator -
uncheck, apply, check, apply
Disable Docker app if you have it (Mac users).
Restart emulator:
Tools - Android - AVD Manager
(or kill adb process in task manager).
Go to AVD Manager in your Android Studio.Right Click on your emulator,and then select wipe data.Then run your app again.
The emulator will perform a clean boot and then install your apk then your app will finally run.
Summary:AVD Manager---Right Click Emulator----Wipe Data----Run App Again
If the problem presists,then simply go back to your avd manager ,uninstall emulator,then add a new emulator.Once the new emulator is added,in your avd manager,run the emulator...Then run your app.
Its much simpler if you have an emulator already running from the onset before running your application for the first time
After trying all these solutions without success the one that fixed my problem was simply changing the Graphics configuration for the virtual device from Auto to Software (tried hardware first without success)
This solution works for me :
Tools -> AVD Manager -> click drop down arrow -> select Cold Boot Now
Below steps work for me
Close running emulator
Go to AVD Manager
Choose available emulator
In that action tab (last one), click on drop down arrow & select COLD BOOT NOW
Finally run your application
Seems like Android Studio (using version 3.5.1) gets into a weird state after a while. This worked for me.
File -> Invalidate Caches / Restart -> Invalidate and Restart
Go to AVD Manager right click on your device and select Wipe Data and Cold Boot Now.
For me it worked correctly.
After trying almost all the solutions listed above, what finally worked for me was to create a new virtual device using a "Google APIs" image instead of a "Google Play" image.
Seems that in my case the problem was in that the "Google APIs ARM EABI v7a System Image" wasn't automatically installed during installation of Android Studio.
After installing the image, the emulator began to work.
Screenshot of the SDK manager
Did not read all the answers. Anyway Accepted one didn't work for me. What did was upgrading the android studio to last stable version and then created a new virtual device. I guess my nexus 5p virtual device got out of sync with the android studio environment.
This worked for me on Android studio 4+ and Mac OS
Delete all AVD's that you currently have.
Go to Preferences > Appearance & Behavior > System Settings >
Android SDK > SDK Tools
Uninstall Android Emulator
Restart Android Studio.
Re-install Android Emulator from the same place.
Create a new emulator!
I discovered that having a running instance of Docker on my machine (OSX) prevented the Android Emulator from running (see Android Studio Unable to run AVD)
Previously, my emulator would appear to start, then fail before any device window was shown.
I also had to use 'kill -9' (as per #MarkDubya ) to get Android Studio to connect to the virtual device.
Like urupvog's answer, make sure that you aren't running any other virtual machines like VirtualBox. When I restarted my computer, AVD worked until I started Vagrant for backend development (then it wouldn't launch).
See Android emulator and virtualbox cannot run at same time for more info.
Check you don't have the deviced unauthorized, unauthorized devices reply the same error in the Android Studio, check the emulator once is on with the adb command.
$ adb devices
List of devices attached
emulator-5554 unauthorized
If you have of this way the emulator the Android Studio is waiting for be authorized and maybe this can solve the problem.
Authorized Devices
This is a error I have solved in Windows 10 with Android Studio 2.3.3
Fix for this issue is simple :
Go to SDK tools > SDK Tools
Check Android Emulator and click Apply
and sometimes you might see there's an update available next to it, you just need to let it finish the update
For those stuck on this problem on a device and not the emulator, make sure your app isn't set as the device owner.
Question is too old but may be helpful to someone in future.
After search many things, most of them is not worked for me. SO, as per my try This solution is worked for me. In short uninstall and install "Android SDK Tools" in Android SDK.
Few steps for that are below:-
go to "SDK Manager" in Android Studio
go to "SDK Tools" tab
Uninstall "Android SDK Tools" (means remove check(uncheck) ahead of "Android SDK Tools" and Apply then OK)
Close and Restart Android Studio
Install "Android SDK Tools" (means check ahead of "Android SDK Tools" and Apply then OK)
Image of Uninstall and Install Android SDK Tools again
The problem is that there is no link between ide and the emulator.
In our case - we lowered version of android for the app, that frustrated ide in emulator linking.
If we install Android 25 and bind project to it, and AVD Device on Android 25 as well - it links and apllies changes on the fly. If we downgrade to Android 14 and device on android 14 - it doesn't.
Used Android Studio 2.3.
To play with versions you can set in Gradle Scripts - build.gradle (Module: app):
android {
compileSdkVersion 25
defaultConfig {
minSdkVersion 15
targetSdkVersion 15
}
}
As a result app won't run on an Android 25 device with a message:
Installation failed with message Failed to finalize session : -26:
Package ru.asv.test new target SDK 15 doesn't support runtime
permissions but the old target SDK 25 does.. It is possible that this
issue is resolved by uninstalling an existing version of the apk if it
is present, and then re-installing.
WARNING: Uninstalling will remove the application data!
I also ran into this problem and probably found the solution that may help. The key is launching the AVD in the emulator first then run your App.
Following are the steps:
In the Your Virtual Devices screen, select the device you just created and click Launch this AVD in the emulator
Once the emulator is booted up, click the app module in the Project window and then select Run → Run
In the Select Deployment Target window, select the emulator and click OK.
For Linux users using KVM and facing this problem try setting the Graphics option on the Android Virtual Device to Software instead of Automatic or Hardware . As previously mentioned in this answer.
I can confirm that the method works for Arch Linux, Ubuntu 16.04, as well as windows with or without a proprietary graphics card using Android Studio version 2.3.1+
I am working on notebook, Windows 8. I solved this issue change mode from battery saving mode to balanced mode. Before that, an emulator didn't work and I see "Target Device to Come Online". Also didn't work Genymotion
I had a similar problem when updated my android studio. Somehow it changed my SDK path. I just changed it to my updated SDK path and it worked.
Android Studio -> File -> Settings -> Appearance & Behaviour -> System Settings -> Android SDK
Here you will find Android SDK location just click on edit link in front of that and browse and select the Android SDK from the file browser. Select and click on Apply.
Select AVD manager and start Emulator. This solution worked for me.
Go to terminal and type android avd. Select your AVD and select "Edit". Make sure you do not see No CPU/ABI system image available for this target - it will show in red font at the bottom. Change the target to the one that is available or download the ABI image. Sometimes, if you create an AVD from inside Android Studio, it does not ensure this requirement.
None of solutions above worked for me, so I had to wipe content of
C:\Users\your_name\.android\avd
and re-create emulated device
I've had the same problem (AVD not coming online) in a Linux system. In my case, I have solved it setting this environment variable:
$ export ANDROID_EMULATOR_USE_SYSTEM_LIBS = 1
This case is documented here: https://developer.android.com/studio/command-line/variables.html#studio_jdk
Finally, I solve this problem by setting the right export path in bash file:
export ANDROID_HOME=/Users/[username]/Library/Android/sdk
I installed Genymotion with a virtual Box and the Genymotion plugin (Android Studio), created a new device and runs properly, even from Android Studio.
However when I hit the Run button, the Genymotion device does not appear on the Device Chooser, it says 'Nothing to Show' under the 'Choose a running device' radio button. How can I get the Genymotion device to appear on the Device Chooser and run my app? Is it something I am missing from the SDK manager?
This happens because Genymotion is shipped with outdated Android tools. To solve follow the steps:
Open Genymotion app,
Go to Settings -> ADB
Select 'Use custom Android SDK tools'
And select location of your Android SDK.
On Mac with a recent version of Studio that would be:
/Users/username/Library/Android/sdk/
I had the same problem,
but I solved it.
Before running genymotion you have to first click on run and wait until project compile and show you the empty device list and then you have to start your genymotion, after that it will appear.
click the run button to compile project
device empty list appear
start genymotion
device will appear in the list
That worked for me. Hope it helps.
Got the same issue on AS 3.3.2, I tried to select location of the Android SDK, or kill / restart the server. Still they didn't work.
After that, I install the genymotion plugin in AS and open the genymotion device manager, then check the actual ip address of the active genymotion device.
adb connect device_ip_address:5555
Now the device can be detected on device chooser.
P.S. Thanks #Ismail Iqbal for pointing out that the genymotion plugin is not necessary. You can also get the ip address from the emulator header.
I also am facing the same issue in new version of Android studio. following is my routine that everyday i am doing to solve this issue:
Click Run icon to see empty list of device
Close this list
Kill adb by:
adb kill-server
Sometime you need to run this command twice.
Start adb again by:
adb start-server
Click run again. Now I will see list of my emulators but not my Genymotion that is already up and running!
I will add my Genymotion by:
adb connect 192.168.56.101
This command has to be run when select device dialog is still open.
Now everything will be OK.
On Android Studio 2 :
Click on button "Attach debugger to Android process" on Toolbar.
Click restart.
Try run again.
Goodluck.
Tools->Android-> Remove check "Enable ADB Integration"
Run your app with appeared device.( you will get an error)
Set check "Enable ADB Integration"
Run your app
You can solve it quickly.
First make sure that genymotion emulator is opend.
close device chooser (On andoid studio)
open task manager(on windows ctrl + shift + esc)
pick process tab
find adb.exe maybe its adb.exe*32
right click and select kill process tree
adb will again appear shortly kill its process tree again( maybe
more than one adb will be found kill all.)
then open device chooser (click run on android studio).
I solved mine by:
First start android studio before starting genymotion. Then run the app in android studio and wait until you see the device chooser then start genymotion
Just in case someone is still looking for an answer. The software versions in which i faced the above issuue is -
Android Studio - 3.3.2
Genymotion - 3.0.1
So, now let's start with the problem. Just try the following steps:
Check if you have enabled Genymotion Plugin in Android Studio. For Windows, go to File -> Settings -> Plugins -> Search for Genymotion and see if it is checked. If you can't find it, Click on Browse repositories , search for Genymotion and install it.
Check the tick in the plugin:
Check if the Genymotion Emulator is running or not and Genymotion Main Screen shows status as Running or ON
(This was my problem. Although my emulator was up and running but Genymotion's Status was showing Booting). It usually takes some time to get the status from Booting to ON
Check for emulator status:
Check if your Min SDK Version is less than the Emulator's SDK Version. I faced it quite a lot in my initial days. For that, Go to your Module:app gradle file and see the Min SDK Version and the Emulators SDK Version is same or higher.
Check for Min SDK Version as highlighted in the image:
Hope this helps. If you still get any problem do let me know.
When you close the device, it is no longer available to the device chooser. You need to keep running the device from Android Studio.
I tried adb kill-server/start-server. But, It didn't worked.
Instead hitting this command 2-3 times quickly worked.
adb reconnect
In my case the genymotion path was not set ..so I solved it by clicking the genymotion icon from the tool bar and enter the path (the default in windows is C:\Program Files\Genymobile\Genymotion) then after starting the emulator it now appears in android studio
First you will have to run the genymotion from the android studio by pressing the genymotion icon after genymotion starts then press the run button, you will see the genymotion device option on deployment target dialog box.
In addition to the answers of this question :
My problem was about windows viruses , Last days i turned off my windows defender and i have't any other antivirus software in my system .
My SDK folder was full of virus , when i scanned Many viruses detected .
After removing viruses from my PC i had to remove SDK completely and download it again .
Finally notice that : For any reason , if the SDK files are
damaged may cause this error .
Now the problem is solved .
For This Problem:
Go to Project structure/project
In project SDK select simulator API version.
Done. Now your genydevice is added in the list.
I've tried from the android studio version 2.0 and the version 2.1, both does not compitable to genymotion. please use the version 1.5.1 or older than that.
I have launched my emulator via the AVD manager and once it's running I have clicked on run app. I have waited a couple of minutes for my running device to show up in choose a running device but the window always stays blank.
Probably the project you are running is not compatible (API version/Hardware requirements) with the emulator settings. Check in your build.gradle file if the targetSDK and minimumSdk version is lower or equal to the sdk version of your Emulator.
You should also uncheck Tools > Android > Enable ADB Integration
If your case is different then restart your Android Studio and run the emulator again.
This thread helped me to solve my problem, in particular this answer:
In Android Studio go to Menu -> Tools
Android
Uncheck Enable ADB Integration
Had similar issue with my emulator.
Solved by Wiping Data of emulator
Tool > ABD Manager > Down arrow under Action Wipe Data
Note : This is remove all data inside emulator.
For anyone else having the issue - none of the answers provided worked for me.
My case may be different to others but I had Android Studio installed first which installs the SDK by default to: C:\Users\[user]\AppData\Local\Android\sdk. We then decided to use Xamarin for our projects, so Xamarin was installed and installed an additional SDK by default, located here: C:\Program Files (x86)\Android\android-sdk.
Changing Xamarin to match the same SDK path worked for me which I did in the registry (although through the VS settings I'd guess it's the same):
\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Android SDK Tools\Path
Change the path to match the Android Studio SDK path, close everything, start the VS Emulator, run Android Studio, ensure ADB integration is off and try. It worked for me.
If you uncheck the ADB Integration, you cannot use the debug any more.You may just restart the adb server, run
$adb kill-server
$adb start-server
in Terminal to restart the adb server without restarting the Android Studio. Then the emulator shows up.
My emulator used to suddenly disappear but the app still continues to run.
Solution-
Open task manager and kill qemu-system (Under Android Studio). This will stop the emulator. Then restart emulator.
Your adb connection is broken.
close eclipse
open cmd-prompt type adb kill-server then adb start-server
reopen eclipse
run the project!
Wipe the data of your Android virtual Device and then start the emulator. Works for me.
I had the same issue on a brand new computer, and the reason was simple. Although I downloaded and unzipped the Android SDK, I didn't add it to the PATH. So:
On Windows, you have to launch envvar and there, add the path to your android/platform-tools
On MacOS, edit the .zshrc file in your home, and add
export PATH="$PATH:/your/own/path/to/android/platform-tools"
This answer is not proposing a solution. Just a workaround in case someone is looking
I am using Idea based Android Studio (some people are talking about eclipse one here)
When I launch the app in the emulator (using the Run App button of Android Studio) AVD shows up but the app does not launch or run.
However when I connect my mobile and launch the app on my mobile the App works (this itself took some time, enabling developer options on mobile and doing the right configuration)
Because My app is launching on connected mobile, I can say nothing wrong with App.
There is some problem with AVD integration which I could not figure out so As of now I am working around my problem following way.
1 - I installed the app manually by dragging the APK file on AVD. (APK file is app\build\outputs\apk\debug folder)
2 - Then my AVD was not showing the installed APP list.
3 - I searched my APP using Google bar on AVD and dragged the APP icon on the home screen of AVD.
4 - I can now launch the APP using my APP icon on the home screen of AVD.
**That's how I am working around my problem. **
I have verified that Run App Icon does install the Application. Installation, not launching, appears to be the problem for me.
try to open the emulator and run it parallel with android studio/eclipse and the option will be displayed to select in the choose the device(emuator name, mine is Genymotion).
Check the android path of the emulator.
I had to change the registry in here:
HKEY_LOCAL_MACHINE > SOFTWARE > WOW6432Node > Android SDK Tools
to the actual path of the sdk location (which can be found in android studio: settings-> System Settings -> Android SDK)
All the credit goes to the author of this blogpost www.clearlyagileinc.com/
start device from genymotion button (have to install genymotion before and setup genymotion folder location on settings)
run application
choose genymotion running device
in your device you want to run app on
Go to settings
About device >> Build number triple clicks or more
and back to settings you will found "Developer options" appear
go to and click on "USB debugging"
Done
I have just installed genymotions, but when I try to start my app on it, as described at the end of this paragraph, eclipse starts the old emulator even if the new one(genymotion) is running. I tried to change the debug configuration but the only virtual devices that I can see in target are the old emulators(see the photo below).
If in target i follow this answer, I get the following error :
[2014-01-30 19:50:00 - HelloWorld] No active compatible AVD's or devices found. Relaunch this configuration after connecting a device or starting an AVD.
Moreover I followed the FAQs that suggests how to bing the SDK. I show my configuration in the second photo.
The devices shown in the photo are all made with AVD, there aren't the one of genymotion and neither the one that is running:
Here I put the configurations of genymotion:
How can I say to eclipse to start the genymotion emulator and not the AVD one?
Looking at your screenshot I think you should unselect all the AVDs displayed on the list. The option you chose launches the best selected AVD by default, and optionally a device.
Also, the Genymotion instances are considered as real devices by ADB and ADT. So, as GhostDerfel mentioned, you need to run one of them before running your app on Genymotion instance.
To know all the detected devices by ADB you can look at the "Devices" section of DDMS. If a Genymotion device is detected, it should show a name like this : genymotion-galaxy_s3....
You can also run this command adb devices. The result should show something like this:
List of devices attached
192.168.56.102:5555 device
Each Genymotion machine is listed by its local IP address here.
If you can't find your Genymotion instance(s), check that you have the lastest version of Genymotion. A ADB detection bug has been fixed on the release 2.0.2
I had the same problem, i solved it by closing Genymotion and starting it from Genymotion Virtual Device Manager in Eclipse
i also had this problem and all tried all the above solutions and still was not working.but finally i read in the genymotion manual that u can simply drag and drop ur apk to the device and it will load and run.so i tried that and not only it worked it also seemed to solve the path problem also so that when ever i run the project it will automatically detect my device created by genymotion.
I can resolve by connecting a real device one time.
You need to install the genymotion plugin. In android studio File>Settings>Plugins>Browse Repositories > install genymotion plugin. once installed a genymotion button should appear in android studio.I hope that helpfull for you.