總結幾種adb運行幺蛾子解決辦法,windows系統為例:
1.‘adb’不是內部或外部命令,也不是可運行的程序或批處理文件。
這個簡單,沒有配置adb的環境變量,如果只用adb,把adb所在路徑加入系統環境變量。建議配置ANDROID_HOME變量,很多自動化工具如appium'會要求配置這個變量。
2.adb server is out of date. killing...
這種情況一般是因為當執行輸入的adb命令時,系統已經有其它版本的adb在運行了,adb運行會占用5037端口,當運行新adb進程會報錯。
而且現在的各種手機助手滿天飛,QQ、360都自帶迷你版的手機助手,而且他們一般都是自己修改了adb,然后換個名字,比如叫xxadb、xxhelper,都是adb換了個馬甲。
解決辦法:
先命令行執行where adb,確認PC只配置了一個adb
命令行輸入netstat -ano | findstr 5037,得到類似於以下的:





圖中標記藍色的4位16進制數就是VID號,記錄下來。
3.進入命令行,切換工作區到當前用戶。
命令行執行 pushd %USERPROFILE%
4.將步驟2得到的硬件ID添加到adb_usb.ini
命令行執行 echo 0x1234 >> .android\adb_usb.ini
注:1234是得到的硬件ID,0x是16進制數前綴。
adb_usb.ini也可以放在adb.exe的同級目錄下。
4.總是提示device offline。
1.一般情況下,如果設備之前正常,那么adb kill-server之后會恢復正常,再不行把設備和PC都重啟。
2.另一個可能是adb版本過低,例如adb1.0.26不能兼容android4.3以上設備,這種情況下可以通過SDK Manager更新下adb的版本。
5.總是提示unauthorized.
1.adb kill-server,斷開設備后重試。
2.在設備的usb調試菜單中”撤銷USB調試授權“
3.刪除%USERPROFILE%\.android目錄中的adbkey和adbkey.pub。刪除前注意備份,adb kill-server重啟下adb。
4.更新adb的版本。