【問題描述】html
一、打開運行:window+R,輸入cmd回車android
二、使用命令 adb shell 沒法登陸安卓設備,提示以下:shell
adb server is out of date. killing...工具
* daemon started successfully *.net
** daemon still not running3d
error: cannot connect to daemonorm
三、使用 netstat 命令發現佔用 5037 端口的進程就是 adb.exe,用 taskkill 命令殺掉進程後,該進程會當即自動重啓並搶佔端口。server
【問題前提】htm
已配置AndroidSDK工具包adb,配置方法:http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html;進程
【解決辦法】
方法一:(先嚐試關掉9一、360等手機助手)
一、在控制檯下查看 adb 工具要使用的端口號,命令爲adb nodaemon server
發現端口號是 5037,以下:
二、查找佔用該端口的進程,命令爲netstat -ano | find "5037"
發現是 PID 爲 6580 的進程佔用了 5037 端口,以下:
(補:cmd內容比較多不能查看上一頁,能夠定向導出文件,格式:XXX>>test.txt
如:netstat -ano | find "5037">>adbtest.txt,而後開始中搜索adbtest.txt,查看詳細文檔)
三、通常狀況下這時使用 taskkill /pid 6580 /f 命令就能夠殺掉進程釋放端口,但本文開篇說了這招沒起做用。因此這裏介紹一個更穩妥的辦法:
先打開任務管理器,找到 PID 爲 6580 的進程(若是沒看到 PID 這列信息,須要點擊 「查看 -> 選擇列 -> PID 進程標識符」),右鍵單擊進程名調出菜單,再單擊 「打開文件位置」。以下:
這時會跳轉到啓動該進程的可執行文件所在的文件夾(若是你對 cmd 命令比較熟悉的話,也可使用 wmic process 命令查看進程的路徑),發現是91助手佔了adb的窗口,我確實剛剛使用而且沒有關閉。由於他有守護進程存在,因此我使用 taskkill 命令殺死她啓動的 adb.exe 進程後,守護進程會當即檢測到並重啓進程。
關閉這個程序後,就又能正常在控制檯使用 adb 工具登陸設備了。以下:
相似的,端口占用也有多是你安裝的一些 手機助手類 的軟件致使的,好比 百度xx、騰訊xx、360xx 等。一樣,關掉相應主程序就能夠解除端口占用了。
方法二(沒有驗證):
修改 adb 工具的端口。新建一個名字爲ANDROID_ADB_SERVER_PORT的環境變量,她的值就是 adb 的端口,給她賦一個沒有被其餘程序使用的端口值,好比 12345。