Eclipse错误“ADB服务器没有确认,启动守护进程失败”

在更新SDK之后,Eclipse显示这个错误:

ADB服务器没有确认,启动守护进程失败。

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

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

我该如何解决这个问题?

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

第一步:按 CTRL + Shift + Esc打开任务pipe理器,该任务pipe理器有adb.exe进程并结束(终止)该进程

第2步:现在,closures当前在我的电脑上运行的eclipse。

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


对于那些使用OS X

killall adb 

对于那些使用Windows

 adb kill-server 

应该做的伎俩。

我遇到了同样的问题,但我没有造成这个问题。 无论如何,我终于find了一些线索并加以修复。

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

我通过以下步骤修复了它:1.打开Windows任务pipe理器并杀死adb.exe进程。 2.closureseclipse并重启。 然后它工作。

希望它有帮助。

如果您在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设置

只需选中“使用自定义Android SDK工具”选项并input您想要的位置即可。

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

命令提示符(cmd.exe):

 netstat -aon | findstr 5037 

find0.0.0.0的进程ID:

在这里输入图像说明

确保它是adb.exe:

 tasklist | findstr 1980 

在这里输入图像说明

杀死这个过程:

 taskkill /f /t /im adb.exe 

在这里输入图像说明

让亚行恢复正常:

在这里输入图像说明

信用:博客文章* Android的ADB服务器没有确认无法启动守护进程 *

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

要检查是否有任何应用程序使用端口5037,请使用以下命令:

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

获取应用程序的PID。

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

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

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

我通过在〜/ .android / adb_usb.ini结尾input一个额外的空白行来引起这个问题

(删除额外的空行解决了这个问题)

我们可以很容易地解决这个问题。

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

在这里输入图像说明

确保手机上的USBdebugging已打开。 ADB kill-server和ADB start-server不是问题。

 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 * 

我已经在这个问题上投了另一个答案,但为了防止任何人想知道,你不需要重新启动Eclipse来让ADB重新运行。 只需打开一个shell并运行命令:

 adb start-server 

如果你没有在你的系统属性中设置ADB的path,那么你必须先进入ADB所在的目录(在Android \ android-sdk \ platform-tools ….我正在运行Windows,不知道mac用户怎么做)。

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

或者你可以打开SDK目录。 打开SDKpipe理器,然后select要打开的设备

2:closuresEclipse,然后打开它。

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

出于某种原因,ADB守护程序在closures套接字交换完成之前正在终止。 如果你运行(从命令提示符)“NETSTAT -o”,你将看到处于CLOSE_WAIT状态的套接字(一般为5037)和拥有的进程号。 Process Explorer将不会显示进程ID(守护进程已终止),而名为adb.exe的进程(已打开套接字)将不再显示。 (如果findadb.exe,请尝试查杀任务,看看是否清理干净。)

使用TCPVIEW,find悬挂的sockets。 进程名称列将显示无法find的关联进程。 右键单击,然后select“closures连接”。 套接字现在是closures的,adb守护进程应该能够启动。

我有一个类似的问题。 从任务pipe理器中杀死ADB进程的现有实例对我来说不起作用。

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

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

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

在terminal中键入./adb nodaemon server

如果它Invalid content in adb_usb.ini返回Invalid content in adb_usb.ini ,那么在.android文件夹中的adb_usb.ini文件有问题。

打开adb_usb.ini并清除其内容。 然后重新启动服务器…它为我工作。

检查Android目录的path。 它不应该包含空格等

另外检查插件是否已经在Eclipse→ Preferences中正确configuration。

在我的情况下,我已经检查了多次,但仍然无法正常工作。 我正要重新安装所有的东西,但是我在这个网站上find了一个答案(一些其他的post)。

检查你的杀毒软件。 它可能会阻止adb.exe或模拟器程序的端口等,这就解决了我的情况下的问题。

除了@Bastet的解决scheme:

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

@Bastet步骤之后,我发现其他一些进程正在使用这个地址。 我继续杀了它,它给了我ACCESS DENIEDError

所以使用tasklist | findstr **** tasklist | findstr ****我find了进程的名称,并从任务pipe理器中杀死它。

此后它开始工作。

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

我有同样的问题。 但是我的笔记本上没有adb过程。 我只是注销并login到我的帐户,并已解决…

之后,亚行可以从CMD窗口开始。

无需重新启动任何设备或软件,最好和最有效的方法是:

运行以下命令:

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

还有一件事..亚行是一个自力更生的东西。 除非它想要自己的工作,否则你什么也做不了。 还有一种方法,我发现:将设备连接5-6分钟,然后等待。 不久,设备连接并尝试启动。

直到我植根我的三星Galaxy S III手机(按照xda开发者论坛指南),这并没有开始发生。

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

杀死adb.exe进程并重新启动它解决了这个问题。

看看杀毒软件或防火墙…是否有任何阻止您访问…在K7防病毒我closures系统监视器,它确实对我有用…

我不得不允许adb.exe在我的防火墙中访问我的networking。

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

我重新启动Eclipse,然后它的工作。