My experience with debugging in an android environment is zip, zero and nada. I'm doing this the same way I approach anything else I don't have a good handle on the environment with - bash the shit out of the code and drop logs everywhere plus look for any errors in the existing system logs and trace down where they're coming from, then fix it.
Oh by the way the Android development documentation is effectively non-existent and a fair bit of what's out there is wrong. That makes it a lot of fun too. For example, the light sensor hack I put in to fix the automatic brightness can PROBABLY be done with a state table define in the original code. It certainly appears that way from examination. However, looking through the code I see no evidence of where the hell I'm supposed to place that state table, so instead of spending hours upon hours of trying to fit a square peg in a round hole I took the "easy" way out, cased the routine through a build property and wrote 20 lines of code to "just do it", leaving a nastygram of comments in the code where I made the changes.
If this winds up making my port a one-off then so be it; the git repo is public and if anyone wants it, they do. If not they can bite me - the device will work and that's all I really care about.