全部博文(137)
分类: LINUX
2010-10-27 20:14:09
With an Android-powered device, you can develop and debug your Android applications just as you would on the emulator. Before you can start, there are just a few things to do:
In Eclipse, you can do this from the Application tab when viewing the Manifest (on the right side, set Debuggable to true). Otherwise, in theAndroidManifest.xml
file, add android:debuggable="true"
to the
element.
On the device, go to the home screen, press MENU, select Applications > Development, then enable USB debugging.
SYSFS{idVendor}
property. For other IDs, see the table of USB Vendor IDs, below./etc/udev/rules.d/51-android.rules
.For Gusty/Hardy, edit the file to read:SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
For Dapper, edit the file to read:SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"
chmod a+r /etc/udev/rules.d/51-android.rules
You can verify that your device is connected by executing adb devices
from your SDK tools/
directory. If connected, you'll see the device name listed as a "device."
If using Eclipse, run or debug as usual. You will be presented with a Device Chooser dialog that lists the available emulator(s) and connected device(s). Select the device upon which you want to install and run the application.
If using the Android Debug Bridge (adb), you can issue commands with the -d
flag to target your connected device.
This table provides a reference to the vendor IDs needed in order to add USB device support on Linux. The USB Vendor ID is the value given to the SYSFS{idVendor}
property in the rules file, as described in step 3, above.
Manufacturer | USB Vendor ID |
---|---|
Acer | 0502 |
Dell | 413c |
Foxconn | 0489 |
Garmin-Asus | 091E |
HTC | 0bb4 |
Huawei | 12d1 |
Kyocera | 0482 |
LG | 1004 |
Motorola | 22b8 |
Nvidia | 0955 |
Pantech | 10A9 |
Samsung | 04e8 |
Sharp | 04dd |
Sony Ericsson | 0fce |
ZTE | 19D2 |
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:
sudo vim /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="18D1", MODE="0666"
sudo reload udev
sudo service udev reload
adb devices
List 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!
--------------------------------------------------------------------------------------------------------------------