如何将Android模拟器附加到ADB?

通过在Eclipse中debugging启动模拟器后,经过一段时间后,它将从ADB断开连接,但模拟器保持打开状态。 它是响应式的,我可以导航和启动应用程序。

如何将模拟器附加到ADB,以便能够从Eclipse进行debugging?

(当前的解决方法是终止模拟器,closuresEclipse并重新启动它们,这需要10分钟,因为您知道模拟器需要时间启动)

编辑1
看看这个图片:

在这里输入图像说明

编辑2

我杀了后,重新启动服务器。 Eclipse中的Devices标签显示一个模拟器进程。 但是这不能扩展,我没有看到子stream程。
我已经无法进行debugging了,如下所示:Debug已经在运行。 (如何停止debugging?)

如果我设法启动另一个项目的debugging,它在模拟器中挂起告诉我:等待debugging器附加。 什么都没发生。

正如你所说的,问题不在于Eclipse与模拟器失去联系,而是ADB( Androiddebugging桥)与其失去联系。 由于Eclipse在ADB中断时使用ADB与仿真器进行通信,Eclipse无能为力。

要通过运行以下命令来解决此问题,请停止ADB服务器 :

adb kill-server 

Eclipse通常会尝试重新启动ADB,或者您可以通过运行ADB命令自行重新启动它,例如:

 adb devices 

如果你这样做,你会看到这样的输出:

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

您也可以使用Eclipse中的Devices视图中的Reset adb选项通过鼠标执行此操作。

替代文字

另外值得注意的是Console视图有两种模式, DDMSAndroid 。 您通常处于Console模式,但它是DDMS模式,将显示ADB状态消息。 通过点击带监视器图标的button或使用旁边的箭头select模式:

替代文字

如果一切都失败了,请尝试从操作系统中查杀adb进程。 在Windows XP上,我使用:

 TASKKILL /F /IM adb.exe 

有一个更简单的方法。 从日食你可以重置从DDMS面板adb。 这里有一个简短的video,这样做“在DDMS上重置ADB”

以下是您可以在哪里获得该选项的快速截图。 在这里输入图像说明

有时一个杀人服务器将无助于我的机器(WinXP)。 例如,我无法再在DDMS-View中看到模拟器,或者我看到它,但没有运行任何进程。

在这些情况下,我closures模拟器和eclipse,并从进程列表中手动closuresadb.exe进程。

当我然后重新启动Eclipse和模拟器,一切都很好。

现在我只需要一个键盘快捷键:-)

在Mac上,我只需要从活动pipe理器中杀死adb,然后再次手动重新打开程序。 日食已经打开,它工作得很好。

尝试使用adb kill-server和adb start-server。 即使那样也会出现同样的问题,从ddms中删除你的运行进程。 请参阅此链接( http://www.jiahaoliuliu.com/2011/02/stopping-android-applications-already.html )。 这解决了我的问题。 希望你也。

我在Android 4.0(API级别14)仿真器上testing应用程序,一旦我运行应用程序,仿真器启动,一旦加载,Eclipse DDMS将从仿真器断开连接。

下面是我使用的解决方法:打开terminal,导航到平台工具(C:\ android-sdk \ platform-tools \或任何你已经安装了android-sdk的地方),运行adb kill-server ,然后运行, adb start-server 。 DDMS现在应该列出模拟器 – 从Java的angular度来看,右键单击应用程序 – >运行 – > Android应用程序。

希望这可以帮助。

我方便的bash脚本

 #!/bin/bash ./path/to/adb kill-server ./path/to/adb start-server ./path/to/adb devices