android studio adb连接不上手机 ADB server didn't ACK

问题描述:在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

问题已解决!

你可能感兴趣的:(android)