Over the years, hundreds of Android devices have been released. Among the dozens of manufacturers building Android phones, Samsung is one of the more prolific of the bunch. But Samsung is best known their two flagship smartphone series: the Samsung Galaxy S and the Galaxy Note line. The latest flagship offerings from Samsung include the Samsung Galaxy S8/S8+ and the Samsung Galaxy Note 8. These devices launched with Android 7.0 Nougat and 7.1 Nougat respectively, but while these smartphones are claimed to be Android Certified, they actually violate a key prerequisite of what allows them to pre-install Google apps on their devices: the Android Compatibility Definition Document.
The Necessity of Android Compatibility
With every new release of an Android version, Google publishes a set of requirements that devices must meet in order to be considered compatible with that version of Android.
This document enumerates the requirements that must be met in order for devices to be compatible with the latest version of Android. To be considered compatible with Android, device implementations MUST meet the requirements presented in this Compatibility Definition, including any documents incorporated via reference.
The above lines preface all links to the Android Compatibility Definition Document, and clearly state that, while the Document does not include every requirement needed for a device to be considered Android-compatible, it does state that manufacturers must stay within the guidelines of the document. Furthermore, meeting these requirements is a prerequisite for any manufacturer to license Google Mobile Services (GMS).
After building an Android compatible device, consider licensing Google Mobile Services (GMS), Google’s proprietary suite of apps (Google Play, YouTube, Google Maps, Gmail, and more ) that run on top of Android. GMS is not part of the Android Open Source Project and is available only through a license with Google.
This is a huge incentive to make Android device manufacturers follow Google’s strict requirements listed in their Compatibility program. Without meeting Google’s requirements, a manufacturer cannot pre-install the Google Play Store (among many other Google applications).
Amazon is one of the few manufacturers that intentionally does not license GMS as they favor their own app ecosystem, but for every other manufacturer it’s crucial to ensure that their customers have access to the millions of apps on the Google Play Store. Hence, you can understand why it’s so important for Samsung to meet the requirements in the CDD so they can license out Google Mobile Services.
Samsung Galaxy S8+ and Galaxy Note 8 – Are they Truly Android Certified?
At XDA, we’ve been digging into the Compatibility Definition Document with every new release of the document. We poured through the document released for Android 6.0 Marshmallow and Android 7.0 Nougat, though we skipped the document for 7.1 as the changes were so minute that they weren’t worth mentioning.
For Android 8.0 Oreo, we’ve already talked about some of the changes introduced in the latest update to the Compatibility Definition Document. Some of the things we found include requirements on implementing Android Oreo’s background app limitations, optional WiFi Passpoint support, required Data Saver support, and consistent dumpsys command behavior.
But there was one change we noticed that, at the time, didn’t seem very significant. It was a change regarding Android’s requirements to support high-performance virtual reality mode. Adding support for this feature is a requirement in order for a device to support Google’s Daydream VR. It’s actually possible to force Daydream VR compatibility on any rooted Android device if you add a few lines in the right place.
In order for a device to support Daydream VR officially, though, they have to meet the requirements laid out in the Virtual Reality section of the CDD. With the release of Android 8.0’s CDD, Google updated the document to allow for larger (up to 6.3″ screen size diagonally) devices to support high-performance VR in Android.
We were wondering why Google made this change, and why they went with 6.3″ specifically as their upper limit. We linked this CDD change with the recent Daydream View 2017 leak, but then something more obvious, and hilarious, came up.
We realized that the Samsung Galaxy S8+ with its 6.2″ screen and the Samsung Galaxy Note 8 with its 6.3″ screen perfectly explain why Google decided to up the screen size limit in the Android 8.0 Compatibility Definition Document. Perhaps they didn’t anticipate any smartphones from their major partners to get that large initially, but the might of Samsung forced their hand so they updated the document to accommodate their biggest partner.
But there’s a problem with the Samsung Galaxy S8+ and the Samsung Galaxy Note 8 supporting VR high performance mode (and yes, we verified that it does by pulling /system/etc/permissions/android.hardware.vr.high_performance.xml from the phones). While the Galaxy Note 8 launched with Daydream VR support on board, it took a software update to bring compatibility to the Samsung Galaxy S8/S8+. However, both devices did not launch with Android 8.0 Oreo.
Instead, they must meet the requirements listed in Android 7.0/7.1 Nougat’s Compatibility Definition Document in order to be considered compatible with Android and thus license Google Mobile Services (GMS). But the requirement listed in the previous release of the CDD explicitly states that the display MUST measure between 4.7″ and 6.0″ diagonal. Clearly, the Samsung Galaxy S8+ and Samsung Galaxy Note 8 are outside of these bounds, and thus they violate the terms of the CDD!
What should be done about this?
As these two devices violate the CDD, they cannot ship with the Google Play Store pre-installed. Google should protect the integrity of their Compatibility program by stripping the Samsung Galaxy S8+ and Galaxy Note 8 of all Google apps. The Samsung Galaxy S8 is cool though. You should have bought that one if you wanted to have a truly Android Certified device. Don’t blame me for your poor choice.