問題描述:在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
結果顯示此問題已解決!