This should be a really simple one. I am doing the Hello Android tutorial and I was able to get my app to install into the emulator. However, when I go to run again (with no changes) the eclipse environment insists on launching a new emulator instead of connecting to the existing one. How do I fix that? My development environment is a Mac Mini running Mac OS 10.6.8.
Thanks.
New Update:
I have found the answer:
First I read this [question linked above by Mangusto][1] Use same android emulator everytime
Then I realized that what one really needs to do, if the emulator is opening and initializing slowly, is to start the emulator, wait for it to initialize, and then attach to it the manual way described in the link above. Automatic does not work if your emulator is starting slowly as it disconnects as I described in the update below.
Thanks for the responses.
Update:
Below is the print out from eclipse (I tried to link image but could not due to my user level. I need reputation level of 10 or more). I had already tried the suggestion below about automatic vs manual. I think the issue is that while the apk file was installed it did not automatically launch in the emulator. Therefore, eclipse disconnected from the emulator. I was able to see my application by navigating to the apps within the android emulator.
[2011-11-24 08:25:34 - SDK Manager] Created AVD 'myAvd' based on Android 4.0, ARM (armeabi-v7a) processor,
[2011-11-24 08:25:34 - SDK Manager] with the following hardware config:
[2011-11-24 08:25:34 - SDK Manager] hw.lcd.density=240v
[2011-11-24 08:25:34 - SDK Manager] vm.heapSize=24
[2011-11-24 08:25:34 - SDK Manager] hw.ramSize=512
[2011-11-24 08:29:17 - HelloAndroid] ------------------------------
[2011-11-24 08:29:17 - HelloAndroid] Android Launch!
[2011-11-24 08:29:17 - HelloAndroid] adb is running normally.
[2011-11-24 08:29:17 - HelloAndroid] Performing com.example.helloandroid.HelloAndroid activity launch
[2011-11-24 08:29:17 - HelloAndroid] Automatic Target Mode: launching new emulator with compatible AVD 'myAvd'
[2011-11-24 08:29:17 - HelloAndroid] Launching a new emulator with Virtual Device 'myAvd'
[2011-11-24 08:29:25 - Emulator] 2011-11-24 08:29:25.377 emulator-arm[984:80b] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
[2011-11-24 08:29:25 - HelloAndroid] New emulator found: emulator-5554
[2011-11-24 08:29:25 - HelloAndroid] Waiting for HOME ('android.process.acore') to be launched...
[2011-11-24 08:31:29 - HelloAndroid] HOME is up on device 'emulator-5554'
[2011-11-24 08:31:29 - HelloAndroid] Uploading HelloAndroid.apk onto device 'emulator-5554'
[2011-11-24 08:31:29 - HelloAndroid] Installing HelloAndroid.apk...
[2011-11-24 08:33:36 - HelloAndroid] Failed to install HelloAndroid.apk on device 'emulator-5554!
[2011-11-24 08:33:36 - HelloAndroid] (null)
[2011-11-24 08:33:36 - HelloAndroid] Failed to install HelloAndroid.apk on device 'emulator-5554': Connection reset by peer
[2011-11-24 08:33:36 - HelloAndroid] com.android.ddmlib.InstallException: Connection reset by peer
[2011-11-24 08:33:36 - HelloAndroid] Launch canceled!
[2011-11-24 08:34:55 - HelloAndroid] ------------------------------
[2011-11-24 08:34:55 - HelloAndroid] Android Launch!
[2011-11-24 08:34:55 - HelloAndroid] adb is running normally.
[2011-11-24 08:34:55 - HelloAndroid] Performing com.example.helloandroid.HelloAndroid activity launch
[2011-11-24 08:34:55 - HelloAndroid] Automatic Target Mode: launching new emulator with compatible AVD 'myAvd'
[2011-11-24 08:34:55 - HelloAndroid] Launching a new emulator with Virtual Device 'myAvd'
[2011-11-24 08:35:03 - Emulator] WARNING: Data partition already in use. Changes will not persist!
[2011-11-24 08:35:05 - Emulator] WARNING: Cache partition already in use. Changes will not persist!
[2011-11-24 08:35:06 - Emulator] 2011-11-24 08:35:06.756 emulator-arm[1004:80b] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
[2011-11-24 08:35:06 - HelloAndroid] New emulator found: emulator-5556
[2011-11-24 08:35:06 - HelloAndroid] Waiting for HOME ('android.process.acore') to be launched...
[2011-11-24 08:35:11 - HelloAndroid] emulator-5556 disconnected! Cancelling 'com.example.helloandroid.HelloAndroid activity launch'!
[2011-11-24 08:42:36 - HelloAndroid] ------------------------------
[2011-11-24 08:42:36 - HelloAndroid] Android Launch!
[2011-11-24 08:42:36 - HelloAndroid] adb is running normally.
[2011-11-24 08:42:36 - HelloAndroid] Performing com.example.helloandroid.HelloAndroid activity launch
[2011-11-24 08:42:36 - HelloAndroid] Automatic Target Mode: Preferred AVD 'myAvd' is not available. Launching new emulator.
[2011-11-24 08:42:36 - HelloAndroid] Launching a new emulator with Virtual Device 'myAvd'
Running on the emulator Before you can run your application on the Android Emulator, you must create an AVD. To run (or debug) your application, select Run > Run (or Run > Debug) from the Eclipse menu bar. The ADT plugin will automatically create a default launch configuration for the project.
Its because your application Target
mode has set to manual
. To solve :
Right Click on your project-> Run as -> Select Run Configurations ->
In that select Target Tab ->Select Automatic instead of manual
Click on Apply
and run
.
Now your app doesn't prompt for a device.
For a reverse
case Select Manual
.
Hope it helps.
Go to DDMS Perspective and if you can't see any emulator device on the list, Find the "View menu" dropdown on the "Devices" window on the left, and click Reset ADB.
After adb restarted it should be able to show all of your devices again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With