It's worth mentioning that, since Android 2.3, you can make what's called a Native Activity[1] and circumvent Java entirely (as far as code you write goes).
It still runs in the Dalvik VM but you don't have to write a wrapper Java Activity - everything is C or C++.
For certain things, particularly opengl games, this can make a lot of sense.
Looks like in another 2-3 months, the market share for 2.3 support will finally reach 75%. If I was starting today, I would be comfortable targeting that API level. Wish I could say 3+ was doing so well...
There's been multiple APK support (for different OS versions, etc.) in the Android market since last July[1], so you could do the best thing for your "main" version in one build and have fallbacks for other versions in other builds (where necessary, of course).
Nonetheless, simply looking at the pie graph isn't enough -- if your app targets higher end phones, for instance, aim high: Cut out the derelicts and the abandoned devices, and let their vendors suffer.
Too many Android app providers try to target all, and in the end please none.
I managed to get this to work, but it was so slow and fragile that I gave up and went back to command line GDB. It's easier to deal with ndk-gdb's problems on the command line than through Eclipse. Meanwhile, it has been long enough that I should give http://www.wingdb.com/wgMobileEdition.htm another try...
It still runs in the Dalvik VM but you don't have to write a wrapper Java Activity - everything is C or C++.
For certain things, particularly opengl games, this can make a lot of sense.
[1] http://developer.android.com/reference/android/app/NativeAct...