移動測試新手指引--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 配置檔案的方法,如果需要的話也可以嘗試。如果還有遇到過其它坑的歡迎補充!

相關文章