Using T-Mobile G1 as an Android development phone

I have recently bought a T-Mobile G1 from a local auction site. The reason for doing so was to test my android apps on a real hardware and also to try to tap into the mind of the Android user.

Before committing to a particular device, I took the time to do some research.. however the results were most unsatisfying.. Whenever you search on something related to: Tmobile g1 android development there are so many reviews of the phone and so much buzz and clutter about the android phones that it is almost impossible to find good answers..So the whole reason for this post are the following Q&As:

1. Can I test my own android apps on the T-Mobile G1 (i am talking about the LOCKED device from T-Mobile) ?

Answer: YES YOU CAN

2. Can I DEBUG my own android applications with the T-Mobile G1 ?

Answer: YES YOU CAN

3. Do I need to update to a special version of the Android OS (ROOT my phone, then install a custom ROM) in order to test & debug apps on the T-Mobile G1 ?

Answer: No, you don’t need to. You can enable debugging via the “settings” menu of the phone.

And now finally a quick tip..This was the reason I almost rooted my phone and almost flashed it with a custom firmware. The setting to enable debugging was not in the menu where the google dev-page states it is supposed to be. (the google page does not say it should be under settings so I thought that on the google dev firmware (like in emulator) there will be special shortcuts for development functions)

On my G1 this setting was in Menu / [Settings] / Applications / Development / USB Debugging.

So it was a few menus off, and I just couldn’t find it….. Once that is enabled, whenever you plug in the phone via USB cable to your PC it will recognize it as an android development device. (remember to set your app as debuggable in the manifest file, and install google’s usb driver)

A short tutorial on how to get started:

1. Set USB debugging on your device
2. Plug in the USB cable and connect it to the PC (you don’t need to mount the SD card)
3. Install google’s driver: (you can find it in the Android SDK)
4. Make sure you restart ADB (if you have ADB running while installing the USB, your device may not be listed until you restart ADB)
5. (skip this if you like) After installing the driver restart ADB:
adb kill-server
adb start-server
6. check to see if you device is listed
adb devices (your phone should be listed)
7. Start eclipse and edit the manifest file. Under application set “Debuggable” to true
8. When you run your application a menu will appear asking you if you want to send it to the device or not. (if it does not, you can force adb to use the physical device by typing: adb -d )