【問(wèn)題描述】
1纽门、打開運(yùn)行:window+R,輸入cmd回車
2米奸、使用命令 adb shell 無(wú)法登錄安卓設(shè)備师倔,提示如下:
adb server is out of date. ?killing...
* daemon started successfully *
** daemon still not running
error: cannot connect to daemon
3、使用 netstat 命令發(fā)現(xiàn)占用 5037 端口的進(jìn)程就是 adb.exe莱衩,用 taskkill 命令殺掉進(jìn)程后爵嗅,該進(jìn)程會(huì)立即自動(dòng)重啟并搶占端口。
【問(wèn)題前提】
已配置AndroidSDK工具包adb笨蚁,配置方法:http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html睹晒;
【解決辦法】
方法一:(先嘗試關(guān)掉91趟庄、360等手機(jī)助手)
1、在控制臺(tái)下查看 adb 工具要使用的端口號(hào)伪很,命令為adb nodaemon server
發(fā)現(xiàn)端口號(hào)是 5037戚啥,如下:
2、查找占用該端口的進(jìn)程锉试,命令為netstat -ano | find "5037"
發(fā)現(xiàn)是 PID 為 6580 的進(jìn)程占用了 5037 端口猫十,如下:
(補(bǔ):cmd內(nèi)容比較多不能查看上一頁(yè),可以定向?qū)С鑫募舾牵袷剑篨XX>>test.txt
如:netstat -ano | find "5037">>adbtest.txt拖云,然后開始中搜索adbtest.txt,查看詳細(xì)文檔)
3应又、一般情況下這時(shí)使用 taskkill /pid 6580 /f 命令就可以殺掉進(jìn)程釋放端口宙项,但本文開篇說(shuō)了這招沒(méi)起作用。所以這里介紹一個(gè)更穩(wěn)妥的辦法:
先打開任務(wù)管理器株扛,找到 PID 為 6580 的進(jìn)程(如果沒(méi)看到 PID 這列信息尤筐,需要點(diǎn)擊 “查看 -> 選擇列 -> PID 進(jìn)程標(biāo)識(shí)符”),右鍵單擊進(jìn)程名調(diào)出菜單洞就,再單擊 “打開文件位置”叔磷。如下:
這時(shí)會(huì)跳轉(zhuǎn)到啟動(dòng)該進(jìn)程的可執(zhí)行文件所在的文件夾(如果你對(duì) cmd 命令比較熟悉的話,也可以使用 wmic process 命令查看進(jìn)程的路徑)奖磁,發(fā)現(xiàn)是91助手占了adb的窗口改基,我確實(shí)剛剛使用并且沒(méi)有關(guān)閉。因?yàn)樗惺刈o(hù)進(jìn)程存在咖为,所以我使用 taskkill 命令殺死她啟動(dòng)的 adb.exe 進(jìn)程后秕狰,守護(hù)進(jìn)程會(huì)立即檢測(cè)到并重啟進(jìn)程。
關(guān)閉這個(gè)程序后躁染,就又能正常在控制臺(tái)使用 adb 工具登錄設(shè)備了鸣哀。如下:
類似的,端口占用也有可能是你安裝的一些 手機(jī)助手類 的軟件導(dǎo)致的吞彤,比如 百度xx我衬、騰訊xx、360xx 等饰恕。同樣挠羔,關(guān)掉相應(yīng)主程序就可以解除端口占用了。
方法二(沒(méi)有驗(yàn)證):
修改 adb 工具的端口埋嵌。新建一個(gè)名字為ANDROID_ADB_SERVER_PORT的環(huán)境變量破加,她的值就是 adb 的端口,給她賦一個(gè)沒(méi)有被其他程序使用的端口值雹嗦,比如 12345范舀。