What are the Android Support Libraries and why are they important?

Once you face the simple truth that fragmentation is here to stay, you're left with trying to find ways to mitigate it so that device makers can keep the freedom they currently have while app developers can build the newest, coolest things to install on them. That's why Android is as popular as it is, and if you go fiddling with that formula, you might do more harm than good. Getting a turn-key suite of productivity services and a giant application marketplace on showcase hardware it develops in-house is what keeps Samsung making Android phones and not slapping Tizen on all the things.

Google works hard to make the whole fragmentation thing a non-issue. Some ways are successful — Play Services allows some features to be almost version independent and offers a few extra protections for devices without the latest security tweaks. Some are not as successful; Material Design was supposed to make all apps look great on all devices. Some will be successful in the future, like Project Treble. But one of the things Google does transcends success and turns into amazing, especially if you're an app developer: the Android Support Libraries.

Nobody blames you if you have no idea what they are and haven't ever heard of them. Unless you're a developer, you don't need to know anything about how they work or how they are used, but they are one of the more interesting things Google does so that fragmentation is only a thing smartphone nerds care about instead of a real issue in the real world for real people.

What are the Android Support Libraries?

The Android Support Library is a set of code libraries — resources that can be used to build features and/or functions into an app — that provide things like features or widgets that would normally require an actual Android framework API to include in an app. Android framework APIs are the core features available to developers provided by a specific version of Android. For example, Android 7.0 APIs enabled multi-window support for every app on every device. Support Libraries can provide similar features independently of the operating system version.

More: Here are the Android Pie features that work on earlier versions

There are generally two types of support library packages. One set enables features of new versions of Android on devices running an older version and the other provides standalone features for all versions of Android. Because these aren't part of Android proper, they can be improved and updated without waiting for a major Android platform release.

At Google I/O 2018, we learned about Android Jetpack, and one of its features is a new way to include library support — meaning we should see the even faster adoption of new features into the Support Libraries because of it. That means small but cool ideas and tweaks can be available for app developers long before next August when Android Q (not Quiche Lorraine) comes around.

Why are the Android Support Libraries important?

There is one specific thing that makes them important to you and me — we don't have to wait for the next version of Android to get an update if a feature is provided by the Support Libraries. This allows developers to add and improve how their apps work, especially on phones that don't run the current version of Android, whenever the libraries are updated. We saw that when Android Messages kept seeing improvements in the notifications before those features were bundled into Android 8.0 and it means that phones running Android 6.0 or higher can have apps that use the changes without getting updated to Oreo.

Modularity means faster updates; this is true for code libraries as well as operating systems.

Updating Android from one platform version to the next is a difficult task. It takes a long time, and currently, we only see a major platform update about once per year. Mobile is an incredibly competitive space, and a company's phones will live or die based on the features it has and how marketable they are. Mobile enthusiasts like to argue about who copied who, but consumers only care that the phone they saw advertised has a cool feature and wants their next phone to have something similar. Apple (and Microsoft when it made a phone OS) can update every single phone to have every possible feature because they control how the software is written and distributed. Google doesn't have that luxury.

Some phone makers, like Samsung or Huawei or LG, can mitigate this a bit on their own. These companies are big enough and have a mobile development team with the resources to build things like dual-camera support or animated avatars into the operating system. Others, like Motorola (Lenovo), aren't yet ready to spend billions each year — so they depend on Google to provide new features in a timely manner so that apps can fill in for OS features. That's why Google had to do something in this space; most phones aren't running the latest version and many never will. Something had to be done to get cool stuff onto those phones if anyone expected us to buy them.

It's always a good idea to have the latest version of any software whenever you can. If for no other reason than security tweaks, the newer software has been improved. But since fragmentation is never going away, embracing it and then doing something about it was the smart move.

Android 9 Pie review: Greater than the sum of its slices

Jerry Hildenbrand
Senior Editor — Google Ecosystem

Jerry is an amateur woodworker and struggling shade tree mechanic. There's nothing he can't take apart, but many things he can't reassemble. You'll find him writing and speaking his loud opinion on Android Central and occasionally on Threads.