I am just starting to learn on Android development. I use Ubuntu 11.10 and Eclipse. I have installed the needed plugins from android development, and I have also write yet some examples that compiles and run fine on the emulator.
But somethings as multitouch cannot be tested on the emulator, so I want to test them on my real Samsung Galaxy S2 device. The problem is that I have tried everything I have found on the web on this, but still have not been able to use it.
When I run ./adb devices, it does show none, although the device IS attached.
$ lsusb
...
Bus 001 Device 012: ID 04e8:6860 Samsung Electronics Co., Ltd
$ ./adb devices
List of devices attached
I have modified /etc/udev/rules.d/51-android.rules many times in different ways following instructions on the web, but none of them make a difference. Currently I have this line in it:
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}="6860", MODE="0666", GROUP="plugdev"
Of course I tried restarting udev and adb services, even rebooting the whole system, but it did not work neither.
Any hint?
Thanks a lot in advance,
Enable USB Debugging on the device from the Settings -> Applications -> Development
Try Samsung kies, it delivers suitable ADB driver:
http://www.samsung.com/uk/support/usefulsoftware/KIES/JSP
With the right adb driver (from kies or elsewhere) it should work flawlessly
EDIT:
on linux: http://developer.android.com/tools/device.html
If you're developing on Ubuntu Linux, you need to add a udev rules
file that contains a USB configuration for each type of device you
want to use for development. In the rules file, each device
manufacturer is identified by a unique vendor ID, as specified by the
ATTR{idVendor} property. For a list of vendor IDs, see USB Vendor IDs,
below. To set up device detection on Ubuntu Linux: Log in as root and
create this file: /etc/udev/rules.d/51-android.rules. Use this format
to add each vendor to the file: SUBSYSTEM=="usb",
ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
In this example, the vendor ID is for HTC. The MODE assignment
specifies read/write permissions, and GROUP defines which Unix group
owns the device node. Note: The rule syntax may vary slightly
depending on your environment. Consult the udev documentation for your
system as needed. For an overview of rule syntax, see this guide to
writing udev rules. Now execute: chmod a+r
/etc/udev/rules.d/51-android.rules
Try another USB cable
If you have a possibility, check if it works with another device
Localize your problem, make sure that it's something wrong with software (if it is)
Execute the following command from a terminal
$ echo "0x04e8" >> ~/.android/adb_usb.ini
and restart adb using
$ adb kill-server
$ adb start-server
check if the device is listed using adb devices
I experienced the same issue on Mac OS X with Eclipse. Simply putting the phone in 'debug' mode (Settings -> Applications -> Development -> USB debugging) did not solve the issue. I have to do below in the command line to solve the issue.
sudo adb kill-server
sudo adb start-server