更新SDK后,Eclipse显示以下错误:
ADB服务器未确认,无法启动守护程序。
当我运行Android应用程序时,它给了我以下内容:
请确保adb正确位于“D:\ android-sdk-windows \ platform-tools \ adb.exe”并且可以执行。
如何解决此问题?
答案 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:
只需查看"使用自定义Android SDK工具"选项并输入您想要的位置。
答案 3 :(得分:35)
如果adb_usb.ini
中有换行符,则ADB通常会失败。删除它,重新启动它,这通常可以解决问题(至少对我来说是这样)。
答案 4 :(得分:33)
命令提示符(cmd.exe):
netstat -aon | findstr 5037
找到0.0.0.0的进程ID:
确保它是adb.exe:
tasklist | findstr 1980
终止这个过程:
taskkill /f /t /im adb.exe
让亚行恢复正常:
信用:博客文章* 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-server
或adb get-state
来启动/检查ADB服务器状态。
当我使用Snappea / Wandoujia Sync应用程序时,我遇到了这个问题。
答案 6 :(得分:8)
我在〜/ .android / adb_usb.ini
的末尾输入了一个额外的空行来引起这个问题(删除额外的空行修复了问题)
答案 7 :(得分:7)
我们可以轻松解决这个问题。
cd <platform-tools directory>
adb kill-server
adb
是否仍在运行。如果是,只需杀死adb.exe
adb start-server
醇>
答案 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_daemon
和bas_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访问我的防火墙中的网络。