Android has continuously been bashed for the Fragmentation due to 3 major things: diversity of Android OS versions in market, screen sizes and huge API differences. There were always workarounds in the Open source world, but it was a hot topic of discussion among critics.
Since ICS Days, Google has been making efforts to put an end to the fragmentation. Google tackled each one of them incrementally, and with announcements of Google IO 2013, it has finally ended for good.
In 2011, when Google Introduced ICS, they brought the concept of Fragments– A sub-component of UI Activity that could fit in the required layout, tackling the problem of different screen sizes. These fragments could rearrange themselves to fit any screen size from phone to TV, nicely. Phones see one list fragment, Tablets see two at a time.
Later, Google added a support library to backport fragments to all possible versions of Android (almost). They also introduced ActionBar, a standard way of navigating an application, that also became container for actions/controls. To standardize UI elements, design, they later published Android Design Guidelines to unify the UI patterns across applications.
Last year, Google introduced something called as Google Play Services, a framework that brings Google services to each and every Android OS version out there. It brought goodies like Social Gaming, Google+ based features like sign-on, Android Maps v2, and several others to evey Android OS 2.2+.
As Google describes it:
With Google Play services, your app can take advantage of the latest, Google-powered features such as Maps, Google+, and more, with automatic platform updates distributed as an APK through the Google Play store. This makes it faster for your users to receive updates and easier for you to integrate the newest that Google has to offer.
Google Play services got a significant upgrade this year at IO, which actually puts an end to Fragmentation problems Android ever had.
With the help of Google Play Services, Google actually pushed out a significant upgrade to Android without actually upgrading Android. They added major features set and changes to location services, game services, music, search, notifications, messaging, and social networking through Google Play and Google Play Services. These features are immediately available to 98percent of android users, without having to push an OS update of any sort. This makes sure all Android users have access to the features, all at one time, dissolving the fragmentation.
With Play services, Google can deliver API updates to phone without intervention of OEMs or carriers who usually take years. Access to Google Play services like the Android Maps API, Youtube native video player, Games, etc are now available to all.
Google has done this by pulling out these services and their respective APIs out of the OS, making it easier for application developers to use them.
All the Latest, for everyone.
OEMs like Samsung who fork android to their own version, can get access to these features immediately after they are done customizing their Android flavor, no matter what version of the operating system they are running. But this screws off companies like Amazon who show no love for Google Play and Services. They would never get these features, even if they update to latest OS, these features are not available to them. Google enforces that these new features would only be available via framework rather than OS. This leaves no choice for them but to keep Google Accounts and Play services. Amazon could either build an entire competitive stack of frameworks, or adhere to Google and leverage all of them and keep everyone happy.
We already saw Nook felt the heat and those devices are now getting Play Store. Its what users demand for, pure up-to-date Google experience. After all, its the Google Services and apps that makes Android so special.
Every device running Android 2.2 or higher that has official access to Google Play services. That means almost every single one of those 900 million devices that have been activated has a copy of Google Play Services installed. And Google will keep them up to date.
There we have Google solving almost every concern about fragmentation.