adb devices連接提示 Android offline或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的環境變量被篡改了,這個大家也可以看看是否是這個原因。


免責聲明!

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



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