adb devices連接提示 Android offline或unauthorized的解決辦法

轉自:http://www.dabu.info/adb-devices-android-offline-unauthorized.html

這篇文章是轉的,因爲我也今天用adb 連接自己的小米手機提示 unauthorized ,深感無語,已經也是自己的筆記本調試,是沒問題的,結果今天居然提示沒有認證。

 

我有一個華爲X1手機,版本是Android 4.2.2(我的手機是Android 4.0版本), 但之前用adb連接(包括usb/tcp)時總莫名其妙出現offline或unauthorized的問題,今天搞明白了原因並解決之:

我試過網上的一些方法,什麼 adb kill-server ,然後 adb start-server 。沒有任何效果。

 

1.

網上說從4.2.2開始,adb連接新增了認證確認功能,即用USB連接時在手機上會出現需要確認的對話框。用戶點擊確認後纔可繼續。在用戶確認之前或出
現其它認證相關的問題時,adb
devices顯示的狀態是unauthorized。確認之後,android手機會在/data/misc/adb/adb_keys這個文件上添加
一行key數據,據推測這個key應是運行adb的PC用戶的RSA公鑰。之後這個PC的用戶運行adb連接這個手機時就不會再出現認證確認對話框了。 (我就是沒有出現“允許調試的彈窗提示”,所以我嘗試刪除 /data/misc/adb/adb_keys ,然後重啓手機,以此來重新獲得key,期望有 “允許調試的彈窗提示”,但是依舊沒有“允許調試的彈窗提示”,adb devices依舊提示 unauthorized

2.

上述說的是手機和adb(PC側客戶端)版本是4.2.2以上的情況。但如果adb的版本是舊的(不支持認證),而Android手機是新版本,這時連接
肯定是不成功的,顯示的狀態是offline,而不是unauthorized,Android手機上也不會出現確認對話框。這時往往用戶不知道是怎麼回事。(自己可以用adb version命令來查看adb的版本,大部分人的adb版本不可能是舊版本了,畢竟都是最新的 Android SDK)

3. 如果adb客戶端不使用USB連接手機,而是使用TCP的方式(手機上需要啓動adbd)連接手機, 例如: adb
connect
192.168.1.10,估計是由於Android版本的BUG(不知後續版本是否有修復?),連接時不會出現認證確認對話框,導致出現
unauthorized的問題。那麼解決的方法是:先用USB連接並確認後,Android手機保存了該PC用戶的Key後,使用TCP連接就可以直接
成功了。(這個方法最終解決了adb devices 提示 unauthorized。我先刪除 /data/misc/adb/adb_keys ,重啓手機,再用usb連接手機和電腦,開啓usb調試功能,然後就有“允許調試的彈窗提示”的,點擊確認,然後拔下usb線,用wifi的方式連接adb進行調試,問題就解決了

網上還有人發現是自己的Android sdk的環境變量被篡改了,這個大家也可以看看是否是這個原因。
發佈了66 篇原創文章 · 獲贊 262 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章