Chapter 2. Building an Android Device Lab
The Android ecosystem is the largest mobile platform (by market share) in the world. Google has reported that there are over 1 billion (yes, with a B!) active Android devices worldwide. It holds ~80% of all smartphone penetration. With these stats, it’s no wonder that Android app development is hot. However, the rapid growth of the Android ecosystem has also introduced some pretty interesting challenges.
There have been 12 major releases, thousands of phone models (and tablets, watches, TVs, etc.), with dozens of screen sizes, all with manufacturer tweaks added to the standard Android Open Source Project software. With all of this variation, it is impossible to test your app on every device/OS combination. Akamai has reported that they track 19,000 unique Android user agents per day.1 How can you make sure that your app is running well on a representative sample of Android devices? And probably just as importantly, how do you figure out what a representative sample of Android devices actually means?
A study by TestDroid found that to test the top 20% of devices globally, you need 12 devices. To cross 50% of devices, you need >60. For just the U.S. market, 25 devices covers ~66% market penetrations, but to hit 90% coverage, you need to actively test on 128 devices. As testing time is always at a premium, it is unlikely (without automation) that you will be regularly testing on this many devices. In this chapter, we’ll walk through a few ...