If you’re developing for Android, this picture from Open Signal Maps (portfolio co) is only the start of your problems. Fragmentation permeates every level of Android devices: 400+ devices with varying screen sizes and resolutions, OS- various versions running (few of them up to date), Silicon – ARM 5, ARM 7, etc. Not so much fun…
Why go through the pain? Well, Android is ramping 6x faster than iPhone. The iPhone is great, but the large mass market is Android. You’re going to have to be there.
There are a few things you can do to make your life easier if you’re resource constrained:
1) Study the OSM map. Pick the top 5-10 handsets to focus on. Develop for them only.
2) Draw a line in the sand. Instagram did this when they launched on Android this spring- they simply didn’t support a range of Android handsets based on an OS line (2.2 and above, thank you). Apple is notorious for doing this as well. Follow their leads.
3) Use testing tools. Testdroid, DeviceAnywhere, Perfecto Mobile, etc. These tools allow you to do more testing than you normally could in house and possibly on handsets you’ll have difficulty getting. Use them (they’re inexpensive, or free).
Good luck coding!