ADB server didn't ACK * failed to start daemon *


 

問題描述:在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

結果顯示此問題已解決!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM