最近做安卓開發的時候,碰到了如下兩個極品問題,剛開始暈頭轉向,仔細一研究終於解決了:
FAQ1:
C:\Users\xxx>adb shell
adb: Env var ANDROID_ADB_SERVER_PORT must be a positive number less than 65536. Got "89999"
Android Debug Bridge version 1.0.32
Revision 09a0d98bebce-android
---這個問題是因為我先前windows系統環境變量中設置的ANDROID_ADB_SERVER_PORT值過大,這里要求小於65535,因此解決辦法就是:
ANDROID_ADB_SERVER_PORT 65534 # 這個端口號可以隨意只要小於65535就可
FAQ2:
C:\Users\xxx>adb shell
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
---這個問題可能是由於安卓系統的adb公鑰授權問題導致的,可能以前這台機器已經過手機的adb接口了,那么現在需要重新授權就不會在彈框,
不彈框就沒法讓安卓手機認可PC端口連接,就扯着蛋以及杯具了O(∩_∩)O!
解決辦法如下:
1.手機root掉,你可以使用kingroot,或者刷supersu,隨便你;
2.手機安裝終端模擬器 可以在這下載:
http://www.coolapk.com/apk/jackpal.androidterm
3.打開該模擬器,就跟Linux的terminal一樣,在里面輸入如下命令:
su root ---然后勾選授權root權限
rm -rf /data/misc/adb/adb_keys
reboot
然后手機就重啟進入系統后,在重新插上USB,就會彈出友好的SB授權彈框,接下來你懂得!
詳細如下圖:
參考:
adb devices連接提示 Android offline或unauthorized的解決辦法 - 大步's Blog大步's Blog
http://www.dabu.info/adb-devices-android-offline-unauthorized.html
淺淡ADB的公私鑰認證機制_夏之吻_新浪博客
http://blog.sina.com.cn/s/blog_79ba23780101sprh.html