switching SDK in eclipse - android

I have installed the SDKs(1.5,1.6,2.1,2.2) from AVD manager, and created a new emulator device with version 1.5. However, I cannot find this device in run configuration target. It only displays the devices created with version 2.2.

What's the minimumSdkVersion/targetSdkVersion version in your XML ?

It looks like this is a bug. "Run Configurations"/"Debug Configurations" filter out all emulators that have API Level lower than what is specified in target property in default.properties file of Android project.
There is one workaround.
In your "Run Configurations"/"Debug Configurations" select your configuration, go to "Target" tab and click on "Manual" radio button. This will show you list of running emulators when you want to start/debug you app.
Start Android 1.5 emulator manually (from AVD Manager), wait until eclipse sees this emulator as "online" in "Devices" view.
Start you application and select the Android 1.5 emulator to run on.

Related

Waiting for Target Device to Come Online

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

AVD emulator launches but does not load new application

I'm developing my android app in Eclipse. I used to debug my android app with the AVD emulator and a real phone device as well. Lately I face the following problems when I try to work with the emulator:
When I issue "Run As" or "Debug As" Android Application, the AVD emulator launches but it does not load the latest version of the application. It keeps a previous version of it. The DDMS does not load the "Emulator device" in the Devices tab. Moreover, the Debug "Logcat" does not write anything.
When I work with the phone device everything is working properly. Any suggestions?
Some more info that may help:
From the Manifest file:
From the default.properties file: target=Google Inc.:Google APIs:12
AVD Emulator targe: Android 3.1 Google APIs Level 12
If your emulator properties have Snapshot option enabled, then uncheck it and rebuild your application after cleaning it. The emulator might be picking your old copy from snapshot.
in your emulator snapshot should be disabled as well as in "DEV Setting" option USB Debugging mode should be enabled . it will work fine

No AVD Installed

I have installed Android SDK on my Ubuntu 11.04. I have run a common ./android to install. It was expected to see some options like "Available packages" to install android packages. But I haven't seen any options. After that have configured SDK Location path in Preferences in Eclipse I didn't get any SDK targets. When I open AVD Manager in Eclipse, it says "no AVD available". Could you please let me know how can I configure AVDs in my Eclipse?
To configure a basic Android Virtual Device (AVD)
Open Eclipse and select Window > Android SDK and AVD Manager.
In the resulting window, select Virtual Devices in the left panel and click the New button on the right. This launches a new window to configure an AVD.In the first blank of this new window, give the device a name of your choice. Let's choose Simple2.2, indicating that this will be a relatively minimal device running Android 2.2.
Under the Target dropdown, select Android 2.2 - API Level 8.
Under SD Card enter 1024 for Size and be sure that the MiB dropdown is selected.
For Skin select Built-In and Default (HGVA).
Leave everything else as is and click Create AVD.
After a while (be patient, it may take a minute or so) this should create a new AVD with the characteristics specified that will appear in the list if Virtual Devices is selected in the left panel.
You might prefer a different configuration, but the one described above is considered optimal.

Can't run older Android targets in AVD

I'm trying to test an app in an AVD with Android 3.1 as the target but it is running terribly slow and doesn't seem to respond. I created a new AVD with Android 2.1 as the target but this AVD does not show up in the run configurations in Eclipse even when refreshed and restarted.
Does anyone know why I cannot run older versions of Android?
I've found that the targetSdkVersion in the manifest file affects what shows up in the run configuration. Setting the target selection mode to Manual in the run configuration should open a popup when you run it that lets you select any AVD, not just ones that meet the targetSdkVersion.
Try to increase the emulator RAM to 1024Mb.
Go go to AVD Manager click on the emulator and then edit.
You should find Device ram size and set the new value and then "Edit AVD".

Android Emulator: select AVD (Android Virtual Device) to run by default

I have added a second Virtual Device to test a different screen resolution (QVGA), but now I wanna switch back to the first AVD (HVGA) again. How can I set the virtual device in Eclipse to be used by default or even specifically for my project? In the properties I can only set the API level.
I also couldn't find any information in the command line tool documentation to set this manually.
In Eclipse, click on Run in the toolbar then Run Configurations. Select your application and click on the Target tag. You can then select which AVD to use or set it to manual so it asks you each time you run the app.
Note that if the AVD's Android version is lower than the Minimum API level set in the Manifest, the AVD will not appear in the list.
In AndroidManifest.xml, see that your minSdkVersion and targetSdkVersion match your device.
In new Eclipse Kepler version, right click your project, then click Run as->Run Configurations->"Target" tab, you will see all AVDs in the list, select one as a preferred one, then "Apply" and "Run"

Categories

Resources