For android development I do my best to avoid Eclipse by using TextMate and the command line. The biggest missing piece with this setup was an easy way to get a debugger up and running. A quick trip to Google landed me on Command Line Android Development: Debugging which outlines how to get jdb
attached to a running Android app instance.
I quickly grew tired of typing all of the breakpoints out and invoking a handful of commands, so I hacked together a TextMate bundle I named Android Debug to automate the process.
I have never found a use for TextMate’s bookmarking feature so it seemed like a great place to identify breakpoints. When you invoke the debugging command from TextMate it will find all of the bookmarked lines in the *.java
files in your src
folder and dump them into a .jdbrc
file.
To figure out which app to launch I parse the AndroidManifest.xml
file for the package id and main Activity then launch the app in Waiting For Debugger mode.
Once the app is up and waiting a jdb
instance is launched and reads the breakpoints in from the .jdbrc
file. After getting familiar with all the jdb
commands I feel pretty comfortable debugging this way.
Now that I finally have a quick way to debug I can go easy on adb logcat
. I’m going to try to automate more parts of my Android development workflow in this bundle. There’s probably some good stuff to steal from the abandoned Android TextMate Bundle.
The only remaining pain point for me in this whole setup is ant
. I’d really love it if someone could show me how to get ant debug
to compile faster. Currently changing a single *.java
file requires 30 seconds to get an apk
compiled. It looks like dx
is taking a long time to merge all of the pre-dexed libraries the WordPress for Android project is using.