问题描述:在eclipse的Logcat出现错误
[2014-01-08 14:00:07 - adb] ADB server didn't ACK
[2014-01-08 14:00:07 - adb] * failed to start daemon *
[2014-01-08 14:07:24 - adb] ADB server didn't ACK
[2014-01-08 14:07:24 - adb] * failed to start daemon *
解决方法:先找到adb服务是否绑定端口出现问题,如果真的是绑定端口出现问题,找出该端口被哪个进程占据,最后杀掉这个进程。
1. 首先通过CMD启动adb服务。这个时候会提示启动失败。
E:\android-SDK-4.2\android-sdk\platform-tools>adb start-server
adb server is out of date. killing...
ADB server didn't ACK
* failed to start daemon * 2. 服务启动失败的原因有很多,但一般是端口绑定失败。我们来查看一下端口绑定信息。如图所示,真的是端口绑定出了问题。
E:\android-SDK-4.2\android-sdk\platform-tools>adb nodaemon server
cannot bind 'tcp:5037' 3. 我们来看看哪个服务占用了这个端口。这里面有2个进程占用了这个端口。
E:\android-SDK-4.2\android-sdk\platform-tools>netstat -ano | findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 5456
TCP 127.0.0.1:5037 127.0.0.1:1221 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:1222 TIME_WAIT 0
在控制台下杀死在5456端口监听的进程
E:\android-SDK-4.2\android-sdk\platform-tools>taskkill /pid 5456
错误: 无法终止 PID 为 5456 的进程。
原因: 只能强行终止这个进程(带 /F 选项)。 E:\android-SDK-4.2\android-sdk\platform-tools>taskkill /pid 5456 /f
成功: 已终止 PID 为 5456 的进程。
杀死造成问题的进程,再执行前面的命令
E:\android-SDK-4.2\android-sdk\platform-tools>netstat -ano | findstr "5037" E:\android-SDK-4.2\android-sdk\platform-tools>adb nodaemon server
问题已解决!