copolii copolii - 5 months ago 55
Android Question

Android device adb always unauthorized on linux/Mac

I've had to deal with this one a few times and every time I forget what the cause is until I dig deep. So here are the symptoms:

  • Every time you reconnect/reboot the device you get the authorization dialog even though you could swear you checked the Always checkbox the last time.

  • adb shell
    gives you the blurb below

  • adb devices
    gives you the other blurb below

  • You cannot connect via adb while in recovery

  • Device is unauthorized and plugging it in won't display the authorization dialog

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.

adb devices

user@PC:~$ adb devices
List of devices attached
C4F124F1B9A98AE unauthorized

Your udev rules are in place and the codes outputted from
are present in your
(or the redhat equivalent, if different)

What's happening?


Well, for me, the issue has been what you see below:

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
drwxrwxr-x  2 user    user 4096 Jun  7 15:42 cache

Notice how my adbkey and the matching public key are owned by root? The first time I've ran adb anything on this machine has been as root. The fix is easy and you probably already know it: sudo chown user:user ~/.android/adbkey*