Eclipse错误“ADB服务器没有确认,无法启动守护程序”

时间:2011-04-18 13:22:44

标签: android eclipse adb

更新SDK后,Eclipse显示以下错误:

  

ADB服务器未确认,无法启动守护程序。

当我运行Android应用程序时,它给了我以下内容:

  

请确保adb正确位于“D:\ android-sdk-windows \ platform-tools \ adb.exe”并且可以执行。

如何解决此问题?

22 个答案:

答案 0 :(得分:263)

谢谢, @jowett ,我解决了同样的问题,执行了这些步骤

第1步: CTRL + Shift + Esc 打开任务管理器,其中包含adb.exe进程并结束(终止)该进程

第2步: 现在,关闭当前在我的计算机上运行的eclipse。

第3步: 再次,重启eclipse然后解决了这个问题。


对于那些使用OS X的人

killall adb

对于那些使用Windows的人

adb kill-server

应该这样做。

答案 1 :(得分:40)

我遇到了同样的问题,虽然我没有导致这个问题。无论如何,我找到了一些线索并最终修复。

当我打开SDK和AVD管理器时,却发现AVD版本(2.3.3)与android lib版本(2.3)不一样。所以我用2.3创建了一个新的AVD。

我通过以下步骤修复它: 1.打开Windows任务管理器并终止adb.exe进程。 2.关闭eclipse并重新启动它。然后就行了。

希望它有所帮助。

答案 2 :(得分:35)

如果您在Android Studio上同时使用Genymotion模拟器(在Windows或Linux上),则会出现这些症状:

adb server is out of date.  killing...
ADB server didn't ACK
* failed to start daemon *

Genymotion包含自己的adb副本,该副本会干扰Android SDK中捆绑的副本。

最简单的修复方法似乎是更新您的Genymotion设置,以便它使用与Android SDK相同的ADB:

genymotion ADB settings

只需查看"使用自定义Android SDK工具"选项并输入您想要的位置。

答案 3 :(得分:35)

如果adb_usb.ini中有换行符,则ADB通常会失败。删除它,重新启动它,这通常可以解决问题(至少对我来说是这样)。

答案 4 :(得分:33)

命令提示符(cmd.exe):

netstat -aon | findstr 5037

找到0.0.0.0的进程ID:

Enter image description here

确保它是adb.exe:

tasklist | findstr 1980

Enter image description here

终止这个过程:

taskkill /f /t /im adb.exe

Enter image description here

让亚行恢复正常:

Enter image description here

信用:博客文章* Android ADB server didn't ACK failed to start daemon *

答案 5 :(得分:13)

如果您正在为设备使用同步应用程序,也可能是因为其他应用程序使用相同的5037端口。关闭在端口5037上运行的所有服务,然后尝试启动ADB。

要检查是否有任何应用程序正在使用端口5037,请使用:

netstat -a -n -o |findstr "5037"

获取应用程序的PID。

使用Process Explorer查找进程并退出。

现在使用adb start-serveradb get-state来启动/检查ADB服务器状态。

当我使用Snappea / Wandoujia Sync应用程序时,我遇到了这个问题。

答案 6 :(得分:8)

我在〜/ .android / adb_usb.ini

的末尾输入了一个额外的空行来引起这个问题

(删除额外的空行修复了问题)

答案 7 :(得分:7)

我们可以轻松解决这个问题。

  1. 打开命令提示符,然后执行cd <platform-tools directory>
  2. 运行命令adb kill-server
  3. 打开Windows任务管理器并检查adb是否仍在运行。如果是,只需杀死adb.exe
  4. 在命令提示符
  5. 中运行命令adb start-server

    Enter image description here

答案 8 :(得分:5)

我已经解决了我的第一个问题:打开Eclipse,打开SDK Manager,然后选择要打开的设备。

或者您可以打开SDK目录。打开SDK Manager,然后选择要打开的设备

2:关闭Eclipse,然后打开它。

答案 9 :(得分:5)

确保手机上的USB调试已开启。 ADB kill-server和ADB启动服务器不是问题。

C:\Documents and Settings\Administrator> adb nodaemon server

 - cannot bind 'tcp:5037'

C:\Documents and Settings\Administrator> netstat -aon | findstr "5037"

 - TCP 127.0.0.1:1130 127.0.0.1:5037 TIME_WAIT 0
 - TCP 127.0.0.1:1269 127.0.0.1:5037 TIME_WAIT 0
 - TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3088
 - TCP 127.0.0.1:5037 127.0.0.1:1128 TIME_WAIT 0
 - TCP 127.0.0.1:5037 127.0.0.1:1129 TIME_WAIT 0
 - TCP 127.0.0.1:5037 127.0.0.1:1270 TIME_WAIT 0

C:\Documents and Settings\Administrator>tasklist -fi "pid eq 3088"

 - Image name PID session name session # memory usage

========================= ====== ================ ======== ============

 - adb.exe 3088 Console 0 3,816 K

C:\Documents and Settings\Administrator>taskkill /f /pid 3088

 - Success: terminate the PID for the process of 3,088.

C:\Documents and Settings\Administrator>adb start-server

 - daemon not running. starting it now on port 5037 *
 - daemon started successfully *

答案 10 :(得分:4)

我已经向这个问题提出了另一个答案,但是如果有人想知道,你不需要重新启动Eclipse来让ADB再次运行。只需打开一个shell并运行命令:

adb start-server

如果您尚未在系统属性中设置ADB路径,则必须先转到ADB所在的目录(在Android \ android-sdk \ platform-tools ....我正在运行Windows,我不知道mac人是怎么做的。)

答案 11 :(得分:2)

我有类似的问题。从任务管理器中杀死现有的ADB流程实例为我工作。

就在几天之前,我曾尝试过早安装MIPS SDK和ADT-17,Eclipse给了我错误,但我没有解决这个问题。

所以,现在,当我得到 ADB服务器没有确认,无法启动守护程序...... 问题时,我在Eclipse 帮助中执行了“检查更新”菜单项。 没有可用的更新,但至少“ADB服务器没有确认”错误消失了。

我希望这可能会在一些情况下有所帮助。

答案 12 :(得分:2)

运行到sysinternals.com并选择TCPVIEW和PROCESS EXPLORER,如果你还没有安装它们。

由于某种原因,ADB守护程序在关闭套接字交换完成之前终止。如果您运行(从命令提示符)“NETSTAT -o”,您将看到处于CLOSE_WAIT状态的套接字(通常为5037)和拥有的进程号。 Process Explorer不会显示进程ID(守护程序终止),并且名为adb.exe(打开套接字)的进程将消失。 (如果找到adb.exe,请尝试终止任务并查看是否清理了某些内容。)

使用TCPVIEW,找到挂起的套接字。进程名称列将显示无法找到的关联进程。右键单击,然后选择“关闭连接”。套接字现已关闭,adb守护程序应该能够启动。

答案 13 :(得分:1)

检查Android目录的路径。它不应包含空格等。

同时检查Eclipse中是否已正确配置插件→首选项

在我的情况下,我已经多次检查了所有内容,但它仍然无效。我正准备重新安装所有东西,但我在这个网站上找到了答案(其他一些帖子)。

请检查您的防病毒软件。它可能会阻塞adb.exe或仿真程序等的端口。这解决了我的问题。

答案 14 :(得分:1)

在终端中输入./adb nodaemon server

如果它返回Invalid content in adb_usb.ini,那么adb_usb.ini文件夹中的.android文件就会出现问题。

打开adb_usb.ini并删除其内容。然后重启服务器......它对我有用。

答案 15 :(得分:1)

除了 @Bastet 的解决方案:

实际上我们必须使用地址0.0.0.0:0来终止进程。这就是为什么从任务管理器中杀死adb.exe的大多数人都在工作的原因(就我而言,我甚至无法在任务管理器中看到它)。

按照 @Bastet 步骤,我发现其他一些进程正在使用此地址。我继续杀了它,它给了我ACCESS DENIED Error

所以使用tasklist | findstr ****我找到了进程的名称并将其从任务管理器中删除。

此后它开始工作了。

在我的情况下bas_daemonbas_helper使用此地址,这两个地址都对应MOBOROBO

答案 16 :(得分:0)

我遇到了同样的问题。但我的笔记本电脑上没有adb的进程。我刚刚退出并登录我的帐户,它已经解决了......

此后,ADB可以从CMD窗口开始。

答案 17 :(得分:0)

不重启任何设备或软件的最佳和最有效的方法是:

运行以下命令:

adt-bundle-windows-x86_64\sdk\platform-tools\adb.exe

还有一件事......亚行是一个自立的人。除非它想要自己工作,否则你什么都做不了。我发现还有一种方法:将设备连接5-6分钟并等待。设备很快就会连接并尝试启动。

答案 18 :(得分:0)

直到我根据我的Samsung Galaxy S III电话(遵循xda-developer论坛指南),才开始为我做这件事。

它随机发生,但在运行Eclipse时肯定会发生。

杀死adb.exe进程并重新启动它可以解决问题。

答案 19 :(得分:0)

查看防病毒或防火墙......是否有任何阻止您访问...在k7防病毒软件中,我关闭了系统监视器,它对我有用...

答案 20 :(得分:-1)

杀死Eclipse然后重新启动并没有帮助我。我将Android工具添加到PATH变量,启动了任务管理器并杀死了adb.exe。

我重新启动了Eclipse,然后它运行了。

答案 21 :(得分:-1)

我必须允许adb.exe访问我的防火墙中的网络。