Android设备adb始终在Linux/Mac上未经授权

cop*_*lii 4 android adb

我不得不几次处理这个问题,每次忘记原因是什么,直到我深入挖掘.所以这是症状:

  • 每次重新连接/重新启动设备时,即使你发誓你最后一次选中了Always复选框,也会获得授权对话框.
  • adb shell 给你下面的模糊
  • adb devices 给你另一个下面的模糊
  • 在恢复过程中无法通过adb连接
  • 设备未经授权,将其插入将不会显示授权对话框

adb shell 导语:

user@PC:~$ adb shell
error: device unauthorized.
This adbd's $ADB_VENDOR_KEYS is not set; try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
Run Code Online (Sandbox Code Playgroud)

adb devices 导语:

user@PC:~$ adb devices
List of devices attached
C4F124F1B9A98AE unauthorized
Run Code Online (Sandbox Code Playgroud)

您的udev规则已经到位,输出的代码lsusb存在于您的/etc/udev/rules.d/51-android.rules(或redhat等效,如果不同)

发生了什么?

cop*_*lii 12

好吧,对我来说,问题就是你在下面看到的:

user@PC:~$ ls -al ~/.android/
total 20
drwxrwxr-x  3 user    user 4096 Jun  7 15:46 .
drwxr-xr-x 30 user    user 4096 Sep 19 11:30 ..
-rw-------  1 root    root 1704 Jun  7 15:46 adbkey
-rw-r--r--  1 root    root  710 Jun  7 15:46 adbkey.pub
drwxrwxr-x  2 user    user 4096 Jun  7 15:42 cache
Run Code Online (Sandbox Code Playgroud)

请注意我adbkey和匹配的公钥是如何归根的?我第一次adb anything在这台机器上运行已经是根本.修复很容易,你可能已经知道了:sudo chown user:user ~/.android/adbkey*