The Problem

Using Debian and Eclipse to develop Android applications works great out of the box, except for when you want to debug on an actual device. Standard users in Linux don’t have the necessary access to the USB subsystem to be able to debug and access real devices, either through ADB or Eclipse. When trying to list the connected devices, a ??? shows up.

The Solution

  1. Edit/add /etc/udev/rules.d/51-android.rules and insert the line
    SUBSYSTEM=="usb", ATTR{idVendor}=="<vendor id>", MODE="0666", GROUP="plugdev"Where is based on the vendor of the device being connected and can be found at Google’s [Android documentation][1]. The vendor id for my device did not match what Google had listed. I plugged the device in and ran `dmesg` to view the hardware log. From there it was just a matter of looking through the output to find the correct number.
  2. Add the user to plugdev

From here, just unplug and replug the device back in and it should show up when trying to debug or access the device. Another common problem include not enabling usb debugging on the device.