| Some of the noise you hear is precisely that. The ways in which your application can fail will depend on the sort of things it does. Generally if you follow Android best practises you will be fine. On the other hand if you pretend it is a dumb iOS device you'll have trouble. For example if you do screen layout using pixels you'll be digging a big hole. As for testing, things can be easier. Unlike iOS provisioning profiles you can give the application package (apk) to anyone and they can sideload it onto their device (even from following a web browser link). They just have to change one setting to allow this. This means you can distribute your app for testing to friends, family and others easily. When you put the app on the Play Store you can also restrict it. If you think there could be major compatibility issues then make it available only a small subset of countries/carriers/devices and increase as you get more comfortable. See this talk https://www.youtube.com/watch?v=Erd2k6EKxCQ (22 minutes in if you want to skip the big picture) for how you can preview your UI across a multitude of languages and form factors. There are places that let you test with devices remotely. This is especially useful if you need to check things out in other countries. One example is http://www.perfectomobile.com (not an endorsement). Samsung also has something http://developer.samsung.com/remoteTestLab.do You can easily outsource testing too if it matters that much to you. A good source of devices is http://swappa.com I personally use 6 devices. G1 (Android 1.6), HTC something (Android 2.1), Droid (Android 2.2), different Droid (Android 2.3), Galaxy Tab (Android 4) and Galaxy Nexus (Android 4.1). You can certainly start out supporting only a subset of Android versions (eg 2.3 onwards) and then based on user feedback figure out where to go next. |