如果是安卓導航,請參考這段文字。
解決手機unauthorized錯誤,有需要的朋友可以參考下。
手機:SHV-E210S(OS: Android 4.3)
手機開發者選項中USB調試已經打開,在電腦命令行下輸入adb devices,顯示手機未認證
D:\develop\androidroot\adt-bundle-windows-x86-20131030\sdk\platform-tools>adb
devices
* daemon not running. starting it now on port 5037 *
* daemon
started successfully *
List of devices attached
42f7f2230e4cafe7 unauthorized
網上搜了壹圈,幾經折騰,什麽adb
kill-server/start-server、重新開關USB調試、撤回USB除錯授權,甚至坑爹的重刷手機系統都試過,也沒有搞定。
沒辦法,折騰adb源代碼去,看這裏
源碼沒看到,先看到壹大段英文,英文水平壹般,直接搬原文:
adb: Add public key authentification Secure
adb using a public key authentication, to allow USB debugging only from
authorized hosts. When a device is connected to an unauthorized host, the adb
daemon sends the user public key to the device. A popup is shown to ask the user
to allow debugging once or permanantly from the host. The public key is
installed on the device in the later case. Other keys may be installed at build
time. On the host, the user public/private key pair is automatically generated,
if it does not exist, when the adb daemon starts and is stored in
$HOME/.android/adb_key(.pub) or in $ANDROID_SDK_HOME on windows. If needed, the
ADB_KEYS_PATH env variable may be set to a :-separated (; under Windows) list of
private keys, e.g. company-wide or vendor keys. On the device, vendors public
keys are installed at build time in /adb_keys. User-installed keys are stored in
/data/misc/adb/adb_keys. ADB Protocol change: If the device needs to
authenticate the host, it replies to CNXN packets with an AUTH packet. The AUTH
packet payload is a random token. The host signs the token with one of its
private keys and sends an AUTH(0) packet. If the signature verification
succeeds, the device replies with a CNXN packet. Otherwise, it sends a new AUTH
packet with a new token so that the host can retry with another private key.
Once the host has tried all its keys, it can send an AUTH(1) packet with a
public key as payload. adbd then sends the public key to the framework (if it
has been started) for confirmation.
在電腦的win7系統上查看ANDROID_SDK_HOME,命令行 echo %ANDRIOD_SDK_HOME%
天啊,指向壹個不存在的目錄,哪個流氓軟件幹的
將電腦環境變量中的ANDRIOD_SDK_HOME刪除,重新運行adb devices,手機上出現授權提示,問題解決。
D:\develop\androidroot\adt-bundle-windows-x86-20131030\sdk\platform-tools>adb
devices
List of devices attached
42f7f2230e4cafe7 device