移動測試新手指引--ADB 連線裝置

上帝De助手發表於2020-05-30

移動測試新手指引--ADB連線裝置

作為Android端的開發/測試新手而言,經常會遇到ADB連線識別不到的問題。
有的情況是新換一個手機識別不到,有的可能是第二天突然識別不到。
這裡經過收集彙總整理了一下ADB連線不到裝置的可能原因和解決方法。

ADB連線不到裝置主要有以下幾類情況:

  1. 裝置驅動沒有自動正確安裝
  2. 資料線問題
  3. 手機設定問題
  4. ADB服務原因

裝置驅動沒有安裝成功

這種情況一般在換了一個新手機會出現,特別是個別機型容易出現(比如三星);
一般在插上USB線之後都會提示你裝置沒有正常識別,這時就需要手動重新安裝。通過驅動精靈或者官網下載驅動。

也可以使用一些網上的偏方來解決驅動問題(死馬當活馬醫)

曾經遇到過原來正常的手機,突然有一天提示無法識別裝置,但是檢查驅動發現驅動已經正常安裝最新版本,後來換了跟USB線就好了。

資料線問題

裝置驅動能正常安裝的情況下,通常插上USB線之後可以選擇充電、檔案傳輸、圖片傳輸等模式。
如果沒有自動出現選擇彈框,則需要檢查是否可以手動設定USB連線模式。
如果不支援手動設定,那麼資料線可能只支援充電模式,需要換根可以支援檔案傳輸的資料線。
資料線正常的情況下,設定為檔案傳輸模式後,可以直接開啟裝置連線後的掛載目錄並可以進行檔案傳輸操作。

手機設定問題

在電腦和手機直接可以正常進行檔案傳輸的前提下,如果ADB還是檢測不到的話,那麼就需要檢查手機是否設定了開發者選項。
具體需要開啟開發者選項,開啟USB除錯,部分新機型可能需要設定允許通過ADB安裝應用,允許安裝未知來源應用等選項。

ADB服務問題

上述情況都沒有問題時,還是不能正常連線ADB,那可能就是ADB服務的問題了,具體有幾種情況:

  1. ADB版本過低
  2. ADB版本錯誤(64位機器安裝了32位的ADB)
  3. ADB Server假死(通過重啟ADB Server)
  4. ADB Daemon假死(通過重啟手機)
  5. 沒有通過ADB授權(重新拔插後確認授權)

其它具體問題處理

提示offline

這種情況通常是ADB Server和ADB Daemon連線中斷導致的;比如:手機USB連線後直接拔掉過,TCP模式中斷過。
具體的修復方法是在手機重新連線之後:

  1. 重啟ADB Server(adb kill-server && adb start-server)
  2. 重新關閉和開啟開發者選項的USB除錯(重啟ADB Daemon)
  3. 直接重啟手機(就是重啟ADB Daemon)
  4. 有的時候也可以試試重啟電腦(屬於神學範疇了)

提示unauthorized

這種情況一種是USB連線新手機時沒有確認授權,另一種是TCP模式連線的裝置已經被佔用了。
對於USB連線時提示的未授權情況,可以重新確認授權即可,具體步驟:

  1. 重新關閉再開啟USB除錯選項
  2. 重新拔插USB資料線
  3. 重啟ADB Server
  4. 直接在開發者選項中點選【撤掉USB所有授權】,然後在重新嘗試上述操作

對於TCP模式進行連線的裝置,因為只能連線一個裝置,出現未授權時可能是有另外的電腦已經連線上了,需要先斷開在重新連線。

上述只是彙總了常規的一些情況和處理方式,還有一些需要修改adb配置檔案的方法,如果需要的話也可以嘗試。如果還有遇到過其它坑的歡迎補充!

相關文章