The Device Compatibility Test Suite & You
The OHA does offer a toolkit, called the Device Compatibility Test Suite (CTS). Having used both, I can assure you it’s not nearly as fun as the other CTS.
The CTS is designed to mirror the Android Compatibility Definition Document (CDD). This is the bible for defining Android, as Android.
The problem? Both CTS and CDD are totally open to interpretation. Arguably, you could create your own Linux/kernel, with its own userland, and its own Dalvik-interpreting APIs that meet every compliance spec on-paper for the CDD. It might cost a gazillion dollars, and take years to do, but it’s possible. Unfortunately, the CTS and CDD can never properly audit one-another. Google acknowledges this, readily:
No test suite, including CTS, can truly be comprehensive.
The CTS is a battery of tests, designed to be run on the Android device, while tethered to a computer. Think of it like the tests from the movie Blade Runner. The host computer asks the Android device to perform tons of tasks, and then vets it for compatibility based on the architectural definitions in the CDD.
You may have put two and two together already. A device can fail the CTS and be fully compliant with CDD. A device can fail CDD but convince CTS that it’s compliant. There’s plenty of room for interpretation. And, that’s before you get to the layer of asking if all those devices in-store really do pass either CTS and CDD.
OHA does address the difference between being an Android device, and Android-compatible:
What does “compatibility” mean?
A device is “Android compatible” if it can correctly run apps written for the Android execution environment. The exact details of the Android execution environment are defined by the Android Compatibility Definition Document, but the single most important characteristic of a compatible device is the ability to install and correctly run an Android .apk file.
But again, they cite the CDD. Something that, despite its best efforts, is open to interpretation.
There is no spoon. Or ejection seat.
Thoughtfully, Google has said they are not the ones to declare if a particular device is not Android compliant. The OHA also acknowledges that they don’t review devices.
How are device manufacturers’ compatibility claims validated?
There is no validation process for Android device compatibility. However, if the device is to include Google Play, Google will typically validate the device for compatibility before agreeing to license the Google Play client software.
What Google will do, is deem a device as Android-certified in their opinion. But, it’s a positive-only decision. They will either approve your device, or not approve it. And, since Google never says when you submit a device that it isn’t Android, they are able to maintain the OHA’s independence.
Here’s the kicker though, OHA gets really nebulous on access to the Android trademark:
Devices that are properly compatible can seek approval to use the Android trademark. Devices that are not compatible are merely derived from the Android source code and may not use the Android trademark.
Seek? Seek from whom? Re-read the last two quotes above, but in reverse order. OHA and Google acknowledged that there is no governing body for certifying Android compatibility or authorizing such matters, yet demand you seek approval with a compatible device. Here we find the utter nebulous state for developers building Android devices that don’t include Google Play. There’s a request to seek permission, with an explicit statement that there’s nobody to seek permission from.
It’s a mess. And one Google can’t easily address without quickly developing a conflict of interest that the OHA can’t solve on its own.
You might ask why doesn’t Google set up a testing body? Well, the OHA has said that they do intend to offer a repository or tool someday that will allow people to post and share their CTS results, but again, CTS is an imperfect tool. It can fail devices that really are Android-compatible, and it can pass devices that really aren’t Android-compatible.
The real reason that Google doesn’t set up some governing body, is that they would much rather some device ship with Android, and be a bit faulty, than not ship with Android at all. You can buy an Android device for around $75 from sites like McBub.com. And, for $75, you aren’t getting ripped off. They run Android 4.0, have a capacitive screen, and can run 80 to 90% of Android apps without incident.
Google also doesn’t really do much to fight unauthorized installations of the Google Play Store. According to Google, if you want to ship the Google Play Store, and the Google Suite, you have to enter into a contract with Google. And, your device must pass the CTS and CDD. But, millions of devices, mostly from China, have been sold with Google Play Store (previously the Android Market) preloaded. Google only goes after piracy of Google Play when it really hits the United States mainstream (as they have in the past when such devices wound up at K-mart).
But Aliyun is mainstream, just isolated in China. Hence, Google is angry. Aliyun clearly fails the CTS (at least, Google has said that their apps do, we don’t have Aliyun devices to test against ourselves). And, Aliyun clearly has design changes that breach the CDD.
Also, keep in mind that if Google were to go around suing manufacturers that use Android branding, but don’t comply totally with CDD and CTS, you’d see those $75 Android tablets change flags from Android to Aliyun really fast. Overnight fast. That would seriously start to undermine the market share for Android, and give Aliyun a rocket ship for user acqusition. Next Page…