adb運行異常的故障排除


總結幾種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,得到類似於以下的:

                
             最后一列是進程號, 記錄下來,你的電腦可能有多行。
            然后再輸入 tasklist | findstr  4348    (得到的進程號)  
               
               這樣就能找到誰在占用了,用任務管理右擊這個進程,看看這個adb進程是不是你配置的那個,如果不是,結束刪掉,最好把這個adb的主程序(可能是360什么的)也卸載。
 3.明明有設備總是提示device not found
  1.設備是否開啟了USB調試並且連接了PC
  2.adb驅動是否正確安裝,安裝成功后設備管理器應該能看到adb設備。
  如果以上確認無誤,嘗試手動添加設備的硬件ID,步驟如下:
    1.打開設備管理器,展開adb設備。
    2.右擊設備,依次 "屬性“—”詳細信息“,下拉框選擇”硬件ID“
    

    圖中標記藍色的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的版本。


免責聲明!

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



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