After a career of working on Linux OS development, from embedded to cloud I decided to give Android a try. I recently started at a company where my task was to bring up Android on a new hardware platform. One of the first things I learned is that the hardware manufacture has to get their source code for Android from their SoC provided. If you go with AOSP they refuse to support you in any way if you have issues with their drivers. They do incredible hacks to get their hardware working. As someone who has submitted patches to the mainline Linux kernel I die a little inside every time I see what they do to it. Their own section for thier own hardware. No integration into the mainline kernel and I won't even begin to speak of the code quality. Google themselves force you to use an Androidized kernel with specific patches from them. There is a project to mainline these but Google has been resistant to working with the mainline kernel guys in changing things.
One of the things I really don't understand is why Google had to throw everything out thats standard in every Linux distro and do their own thing. Android throws out the entire Linux filesystem heirarchy and uses its own thing which is undocumented and a huge mess. They have their own init manager, logger, use busybox AND toolbox for some reason.
The source tree itself is managed by a tool called repo which manages about 100 git repositories, each a project which is a part of Android. The SoC vendors often make small changes to things like bluedroid. Like the kernel changes they have no intention of ever upstreaming any of this to the open source projects or Google. This collection of projects are built with Androids own Make build system, where they heavily hack up Make.
If Google wants Android users to all be up to date they need to take a standard distro like Fedora or Debian and make it run its own window manager which is Android and its GUI. They need to get vendors to focus on upstreaming their changes and maintaining high quality code. Ideally Android should be a Linux distro you run on your phone with full package manager with updates from Google. Google has the power to do this. No one else can because it will cause Google's CTS tool to fail verifying which won't allow you to ship with Google Play.