Working with Eclipse/Android/adb on Ubuntu works quite well. There is one minor annoyance with it: the Android SDK does not set up the udev rules that allows the adb tool to find the phones when you plugin them in via USB. You need to add a one-liner udev rules file to /etc/udev/rules.d for each phone you want to support. Here is my collection:
10-archos-5-tablet.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0e79", ATTRS{idProduct} =="1361", MODE="0600", OWNER="hans", SYMLINK+="android_adb"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0e79", ATTRS{idProduct} =="1361", MODE="0600", OWNER="hans", SYMLINK+="android_fastboot"
10-htc-eris.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct} =="0c98", MODE="0600", OWNER="hans"
10-htc-g1.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c01", MODE="0600", OWNER="hans"
10-htc-hero.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c02", MODE="0600", OWNER="hans"
10-htc-wildfire.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct} =="0c8b", MODE="0600", OWNER="hans"
10-motorola-droid.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="22b8", ATTRS{idProduct} =="41db", MODE="0600", OWNER="hans"
10-nexus-one.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0600", OWNER="hans", SYMLINK+="android_adb"
To use them, copy these all to /etc/udev/rules.d, then change hans to be your username. Then you need to restart udev and adb to make sure these changes take effect:
$ sudo restart udev
$ adb kill-server
$ adb start-server
$ adb devices
You should now see a report of your Android device(s) that are currently attached. Here’s an example with an HTC Wildfire attached:
$ adb devices
List of devices attached
HT0AFPY04124 device