Search code examples
androideclipseandroid-emulatoremulationadb

How to attach back the Android emulator to ADB?


After I start the emulator by hitting Debug in Eclipse, after certain time it disconnects from the ADB, but the emulator stays open. It is responsive, I can navigate and start apps.

How can I attach back the emulator to ADB, to be able to debug from Eclipse?

(the current workaround is the terminate the emulator, close Eclipse and restart both of them, which takes 10 minutes as you know the emulator needs time to start up)

EDIT 1
Check out this image:

enter image description here

EDIT 2

After I kill and restart server. One emulator process shows up in Devices tab in Eclipse. But that cannot be expanded, and I don't see sub-processes.
I can't hit debug already, as it says: Debug already running. (How to I stop the debug?)

If I managed to start the debugging of another project, It hangs out in the emulator telling me: Waiting for the debugger to attach. Nothing happens.


Solution

  • As you said, the problem is not Eclipse losing contact with the Emulator, but ADB - the Android Debug Bridge - losing contact with it. As Eclipse uses ADB to communicate with the emulator when ADB is broken Eclipse can do nothing.

    To fix this stop the ADB server by running the following command:

    adb kill-server
    

    Eclipse will then usually try to restart ADB, or you can restart it yourself by running an ADB command, such as:

    adb devices
    

    If you do, you'll see output like this:

    * daemon not running. starting it now *
    * daemon started successfully *
    List of devices attached
    emulator-5554   device
    

    You can also do this via the mouse, using the Reset adb option in the Devices view in Eclipse.

    alt text

    It's also worth noting the Console view has two modes, DDMS and Android. You're usually in Console mode but it's DDMS mode which will show ADB status messages. Select modes by clicking the button with the Monitor icon, or using the arrow next to it:

    alt text

    If all else fails, try killing the adb processes from the OS. On Windows XP I use:

    TASKKILL /F /IM adb.exe