1

I am building Android from source in order to install my company's custom filesystem (Datalight Reliance Nitro). I'm using an Ubuntu 12.04 PC as my host device and a Nexus 7 (flo) as my Android device. I have followed the instructions for setting up the the host system, including setting up the file /etc/udev/rules.d/51-android.rules.

I had been building Android 4.4.3, and ADB ran just fine as expected. (No need for sudo privileges.)

However, when I built and installed Android 5.1.1, suddenly ADB complains:

$ adb devices
List of devices attached 
????????????    no permissions

I tried several further mods to my 51-android.rules file, but no success. Following CyanogenMod's instructions on the topic, I finally ran the ADB server on sudo, and that worked. But I'm wondering why. How could the version of Android effect the privileges ADB needs? Or am I possibly overlooking something else entirely?

1 Answer 1

0

You need add your device id to the rules. Plug your device through usb. Make lsusb and look for your device. You'll receive something like

Bus 003 Device 048: ID 18d1:4ee7 Google Inc. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Then add line in /etc/udev/rules.d/51-android.rules similar to others but with idVendor (in this example '18d1'), and idProduct (here '4ee7')

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0600", OWNER="{same as others}"

then

sudo udevadm control --reload-rules

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .