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:
只需选中“使用自定义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-server
或adb get-state
来启动/检查ADB服务器状态。
当我使用Snappea / Wandoujia Sync应用程序时遇到了这个问题。
我通过在〜/ .android / adb_usb.ini结尾input一个额外的空白行来引起这个问题
(删除额外的空行解决了这个问题)
我们可以很容易地解决这个问题。
- 打开命令提示符,然后执行
cd <platform-tools directory>
- 运行命令
adb kill-server
- 打开Windows任务pipe理器并检查
adb
是否仍在运行。 如果是这样,只需要杀死adb.exe
- 在命令提示符下运行命令
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 DENIED
为Error
。
所以使用tasklist | findstr ****
tasklist | findstr ****
我find了进程的名称,并从任务pipe理器中杀死它。
此后它开始工作。
在我的情况下, bas_daemon
和bas_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,然后它的工作。