转http://alan.lamielle.net/2010/01/22/nexus-one-usb-in-ubuntu-9-10
My shiny new Google Nexus One wasn’t connecting properly over USB to my Ubuntu 9.10 (Karmic) notebook using the Android SDK. Here’s how I fixed it.
After a few days of debating whether or not to buy a Nexus One, I finally gave in a bought one. Rachael ended up getting a Droid Eris (Verizon) for Christmas, so in the course of a few weeks I gained access to two fantastic Android-powered phones. I had been compiling a list of mobile application ideas and the fact that I now have the hardware to test on motivated me to start looking into Android development.
After getting the Android SDK setup I needed to connect my N1 and push an application to it for testing on real hardware. I found some Android documentation that discussed connecting up an Android device over USB. However, after following the steps on this page, I was still seeing strange output when running adb devices
:List of devices attached
???????????? no permissions
This led to some searching which turned up a blog post. Basically, the Google Android team hasn’t added the Vendor ID for the Nexus One. Apparently HTC’s USB Vendor ID isn’t correct. So, I followed these steps to fix it:
- Create/edit a udev rules file:
sudo vim /etc/udev/rules.d/51-android.rules
- Add the following line to this file:
SUBSYSTEM=="usb", SYSFS{idVendor}=="18D1", MODE="0666"
(Note the vendor ID of 18D1. This was changed from the HTC vendor code of 0BB4.) - Restart udev using either
sudo reload udev
orsudo service udev reload
- Connect your Nexus One.
- Run
adb devices
and you should see something likeList of devices attached
############ device
Hopefully Google updates the documentation to include the Vendor ID 18D1 rather than making us hunt for this number ourselves. Enjoy!