> The CTS is used to guarantee all Android apps on Google Play work on the device. That's on Amazon for not really caring to maintain compatibility and instead use their own services as a replacement. As for the AOSP not passing the CTS, it was never intended to do so.

Back on 2.3.7, all apps did work on AOSP. The same on 4.0. Only after 4.0 did critical functionality get moved to the Play Services. This was, as the EU antitrust investigation that's still underway, has already found, anticompetitive.

> According to the following link updates were made to the Email app 2 days ago which seems to indicate it's still maintained.

The app shows a single screen, "Please switch to GMail".

> These apps require Google services to even work and it's unrealistic to think Google is going to provide non OHA members free access to their servers.

All these apps were entirely open source — including Google Search, Google Talk and Google Books — during Android 2.3.7

4.0 dropped Talk, Books, Search, Music.

Between 4.0 and 5.0, Calendar, Contacts, and the Phone app were dropped, and even parts of the launcher.

When I bought all but my latest Nexus device, half of the APIs that are now closed source used to be open. This is fraud, advertising on the box a "fully open source" system, and then closing it off.

Google is absolutely at fault here, and I consider this closing off of AOSP a direct attack.

Android is what you get when you compile from AOSP, if your app doesn't run there, it's broken. Amazon has done massive amounts of work to get as much of the CTS passing as possible (and actually, with their own services they did manage to pass the automated part of the CTS once), but after that, Google introduced new cryptographic signatures on their APIs to prevent this. Amazon (and microG) both solved that by live-patching out the signature checks. As result, Google introduced SafetyNet, a DRM system which verifies the integrity of the system (including bootloader, efuses, and trustzone parts), and reports this to a Google server, which then reports the signature to the servee of the app dev.

Amazon has done everything possible to keep their services compatible, even building compatibility layers for all (!) Google Play APIs.

Google on the other hand has introduced new DRM and obfuscation features with every version.

I'm not sure how the fuck I'm supposed to see Google as the good actor here, considering they're continuously trying to prevent any competition in this space, and are hurting the open source community.

And that's without ever considering Amazon's store. When I published an app in Amazon's store, they got a human to test it for me on all Kindle devices, on hardware. I talked to the human, gave demo access, etc. I got live feedback. When I complained about a missing API, they had it fixed within of a few weeks.

Google on the other hand doesn't offer any support, API complaints get ignored, and to this day on the Nexus 7 "ab".split("") returns something different than on the Nexus 5 — ["", "a","b"] vs ["a", "b"]. On some other Nexus devices even ["a", "b", ""]. Plus Socket.setKeepAlive is broken on Chromebooks. SocketChannel.read and SocketChannel.close both take a lock on the same object, SocketChannel.read can block forever and Thread.interrupt calls SocketChannel.close. Deadlock. Plus thousands more of such bugs which I had to work around, and requested fixing for since 2013. Bugreports filed, Googlers messaged on Google+. Nothing. String.split got fixed in 7.0 — because Google replaced their implementation with the OpenJDK one.

And when questioned about updating the SSLEngine, Google offers a Play Services API to do so — but starting with 9.0, will prevent any non-system apps from doing this on their own.

It's not just that Play Services offers additional functionality — AOSP functionality got removed. The Stepcounter API only reports steps taken while your app was open, requiring either a foreground notification, or using the Google Fit APIs instead. The first annoys users, the second is incompatible with HIPAA and half of European law.

Seriously, at every step of the way, Google throws boulders in the path of me, how am I supposed to support them?