Windows下无法连接Android设备,Eclipse下无法找到设备或者命令行下输入adb命令无法连接设备,输出如下:
1 2 3 4 5 | C:\Users\Kimia>adb devices adb server is out of date. killing... ADB server didn't ACK * failed to start daemon * error: unknown host service |
很可能的原因之一是端口被暂用,如果你装了一些手机管理软件,这个问题发生的概率相当大(我基本很少装这样的管理软件,目前遇到过的两个,分别是“金山快盘”里面带了个豌豆荚,还有QQ音乐)。
可以通过以下方式定位:
1 | C:\Users\Kimia>netstat -a -o 5037|grep 5037 |
得到类似输出:
1 2 3 4 5 6 7 | TCP 127.0.0.1:5037 3dns-2:0 LISTENING 7644 TCP 127.0.0.1:5037 acdid:49321 ESTABLISHED 7644 TCP 127.0.0.1:5037 acdid:64336 TIME_WAIT 0 TCP 127.0.0.1:5037 acdid:64337 TIME_WAIT 0 TCP 127.0.0.1:5037 acdid:64344 TIME_WAIT 0 TCP 127.0.0.1:5037 acdid:64345 TIME_WAIT 0 TCP 127.0.0.1:49321 acdid:5037 ESTABLISHED 4708 |
发现第一条,PID为7644的进程占用了adb调试端口5037。这个必然出问题了。继续看看这个进程:
1 2 3 4 5 | C:\Users\Kimia>tasklist /fi "pid eq 7644" Image Name PID Session Name Session# Mem Usage ============== ======== ================ =========== ============ tadb.exe 7644 Console 1 23,124 K |
或者可能是:
1 2 3 4 5 | C:\Users\Kimia>tasklist /fi "pid eq 7644" Image Name PID Session Name Session# Mem Usage ===================== ======== ================ =========== ============ wandoujia_daemon.exe 7644 Console 1 23,124 K |
基本就可以确定这个进程了,然后到任务管理器或者用命令杀死进程,再重试即可。
1 | taskkill /F /pid 4552 |