周末想做個安卓工具軟件,連接手機進行調試,碰到一些坑,記錄一下。
手機:一加5。系統版本:安卓8.1。電腦系統:win7專業版。開發工具:VS2019。
1、手機不彈授權認證
手機連接電腦,安裝驅動,開啟USB調試,一直不彈出授權彈窗。嘗試重新插拔、開關USB調試、重啟手機、重裝啟動、重啟電腦,都無效。
嘗試使用豌豆莢、應用寶等工具,也連不上。
直接adb devices命令,提示未授權。
懷疑是adb問題,嘗試更新adb。環境變量中配置的adb在路徑“C:\Android\adb.exe”下,百度搜索adb,給出如下推薦(http://adbshell.com/downloads),下載更新。
更新后,仍無效。(此處巨坑,這個站點adb版本是1.0.32,並不是最新版,然鵝我當時並未關注版本問題......)
換個思路,直接上開發環境。
在VS2019中新建安卓項目,安裝對應版本SDK與Google USB Driver,重啟adb服務。
不出所料地沒用......
再來。打開Android Studio,新建個項目,安裝對應版本SDK與Google USB Driver,Run。沒報啥希望,沒想到手機上竟然彈出授權窗口了!!!趕緊點擊同意,選擇設備,開始調試。測試app完美運行。
2、VS2019無法連接
終於搞定手機授權驗證了,也別管啥原因了,趕緊干活吧!
切回VS2019,重啟adb,我擦,怎么還沒有?
命令行執行adb devices:
咋又變成未授權了......心累,還是得研究出來為啥。
全局搜索adb.exe,找到5個:
切到各個目錄,分別執行“adb version”、“adb devices”命令。版本有1.0.32、1.0.39、1.0.40、1.0.41。其中1.0.32下“adb devices”指令提示設備未授權,其他版本下都是已授權。看來還是版本問題.....打開之前百度下來的最新版本,一查,我擦,1.0.32......巨坑啊。這個網址好像官網啊,竟然不是最新的......
重新百度一番,找到Google的更新地址(https://dl.google.com/android/repository/platform-tools-latest-windows.zip),下載,測試得是1.0.41。然后把所有地方的“adb.exe”、“AdbWinApi.dll”、“AdbWinUsbApi.dll”三個文件都更新成Google包里最新的,重新測試。
命令行執行“adb devices”命令,已授權。Android Studio測試,連接正常。VS2019,,終於連上了......DeBug,完美運行。
3、總結
adb無法自動更新,必須手動下載覆蓋更新,所以一定要找到正確的更新地址。Windows包、Mac包、Linux包。
各個IDE用的都不是系統環境變量中的adb,所以更新時要找對要修改的位置。VS2019的路徑在“C:\Program Files (x86)\Android\android-sdk\platform-tools”,Android的在“C:\Users\[user name]\AppData\Local\Android\Sdk\platform-tools”。更新時最好不要直接替換這么簡單粗暴,兩個IDE的Android SDK管理器里都可以更新最新版的,找到“Android SDK Platform Tools”,更新即可。
其他位置就需要我們手動更新了。
最后,有沒有大佬知道http://adbshell.com這個網站是啥?坑爹啊!