One of the first questions new clients ask me is what devices they should buy for testing. It’s often the same question asked by new Android developers. When I placed an app on Google Play last week, supporting Android 2.2 to 4.2, Google Play told me there were 2300 supported devices! However, digging deeper, there was a long tail of Chinese noname devices.
Each project actually needs a different set of test devices. The main things to consider are…
- The versions of Android you are going to support. Go to the Google dashboard to work out how far back you are willing to go. Most developers currently go for Android 2.2 and later which represented about 11% of devices last November and as at the time of writing this has reduced to 8.1%. Soon, it will be viable to just support 2.3 and later. Also remember, these stats are for devices accessing the Play Store in a recent 14 day period which isn’t necessarily the same as the devices in circulation.
- Whether you are going to support tablets or not.
- Testing all the dpi variants and screen sizes. There’s a start of a device list on a blog. I run code similar to this, logging to logcat, in debug versions of apps I create, so that I can keep track of what devices use what dpi.
- Testing across manufacturers. It’s best to include at least the major phone manufacturers.
- Testing across the top n popular phones in the geographic region you are releasing in. For example, here in the UK, this is mainly Samung Galaxy and HTC Desire ranges. If you already have an app in the market (or after you release your first version) you can start collecting this data for yourself and change your test devices on an ongoing basis.
- Testing with/without a hardware keyboard. Consider including devices with hardware keyboard such as the Motorola Droid/Milestone and Xperia Pro.
When developing, the Android emulator lets you test Android versions and dpi variants. However, I tend to prefer real devices as they are quicker , test ‘the real thing’ and also allow testing with a cellular connection that often throws up problems that don’t occur via a desktop hardware Internet connection/WiFi.
While all this might seem like a lot of devices, there’s a lot of crossover between the aspects discussed above. You can carefully choose devices to cover more than one aspect. For developing Android apps destined for use in the UK, on my current project I use …
- Samsung Galaxy S III
- Samsung Galaxy S II
- HTC Desire S
- Motorola Milestone
- Sony Ericsson Xperia pro
- Huawei Blaze (U8510)
- T-Mobile Rapport (Huawei U8180)
- Motorola XOOM 2
- Nexus 4
- Nexus 7