ADB server didn't ACK完美解決


轉載:http://blog.csdn.net/liranke/article/details/45198865

1. 錯誤信息:

C:\Users\lizy>adb devices

adb devicesadb server is out of date.  killing...

ADB server didn't ACK* failed to start daemon *error: unknown host service

 

2. 原因:

adb的端口(5037)被占用了。至於這個5037端口,可以參考本博客另外 一篇文章:

http://blog.csdn.net/liranke/article/details/4999210

在這個文章里,詳細說明了adb的原理及其源碼分析

 

3. 解決方法:

在cmd窗口:
C:\Users\lizy>adb nodaemon server
cannot bind 'tcp:5037'


C:\Users\lizy>netstat -ano | findstr "5037"
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       8516
  TCP    127.0.0.1:5037         127.0.0.1:59163        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:59164        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:59167        TIME_WAIT       0
  ......
C:\Users\lizy>tasklist | findstr "8516"
sjk_daemon
                        8516 Console                    1     3,071 K

哦,原來是sjk_daemon進程占了adb的端口。

C:\Users\lizy>tasklist




Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0         24 K
System                           4 Services                   0      1,128 K
sjk_daemon                     963 Console                    1      3,071 K
tasklist.exe                  1260 Console                    1      5,856 K


將這個進程kill掉:
C:\Users\lizy>taskkill /f /pid 963

如果這個命令提示無權限,那么,可以去windows的“任務管理器”中“進程”那個窗口,找到這個進程,將它殺掉。


再運行adb devices,就沒有問題了。
C:\Users\lizy>adb devices
4df7f482396a301d        device


免責聲明!

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



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