What is AOSP?

You may have come across the letters AOSP as you have read through Android news articles, browsing XDA’s custom ROM threads, or are just doing research into the mobile operating system known as Android. The term AOSP can mean something different to certain people but in this article I will be explaining exactly what is AOSP.

An acronym. That is the short and simple answer to the question what is AOSP. Obviously, though, that doesn’t teach you anything so let’s dive into this a bit further. AOSP is an acronym for the term Android Open Source Project. This, in and of itself is an open source initiative led by Google.

So you may think to yourself that AOSP is just another word for the Android OS. And in a way, you are right in that regard. But to describe it more accurately, AOSP is the code base that Android is built from. It may sound confusing, but what people usually call Android is most likely a heavily modified version of it.

TL:DR
Google describes AOSP as “a full, production-quality operating system for consumer products, complete with customizable source code that can be ported to nearly any device.” But to break this down into what most Android users will want to know, it’s the base that your OEM ROM is based on.

Who Uses the Android Open Source Project?

Any smartphone manufacturer which sells an Android smartphone is using the Android Open Source Project. And to be honest, virtually anyone making a smartphone today that isn’t an iPhone is leveraging the AOSP code. This includes Samsung, LG, HTC, Huawei, Xiaomi, ZTE, Honor, OnePlus, and many many others.

So it doesn’t matter if it’s Samsung’s version of Android (which is called Samsung Experience), or Xiaomi’s version of Android (which is called MIUI), Huawei’s version of Android (which is called EMUI), HTC’s version of Android (which is called Sense UI) or even Google’s version of Android.

All of these different versions of Android, feel, and perform drastically different but they are all based upon the same set of code that is known as AOSP. As I mentioned, Google maintains the codebase for Android and then releases those changes once a year to the Android Open Source Project repository.

This allows all of these smartphone OEMs to start with a clean base of code and then add on their changes onto it. This could be but is not limited to changing how it looks, adding/removing features, and in some case actually changing the fundamental way that software components interact with each other.

So How Does a New Version of AOSP Begin?

Google has the final say when it comes to what is and is not accepted into the Android Open Source Project repository. Naturally, they just can’t add in everything in one release so they usually start with a vision that they have for the next big version of Android.

From here, they begin working on adding in a certain number of APIs (usually just one or two) to the AOSP codebase. These APIs are not only available to Google and smartphone OEMs, but they are also open to 3rd-party developers for applications and games that you see in the Play Store.

It may seem like most of the new features of the brand new version of Android is based on the newly added API, that is usually not the case. For example, Android 9 Pie added 1 API to AOSP (which is the 28th API available to developers) that adds Indoor positioning with Wi-Fi RTT. You can learn more about that feature here.

However, Android 9 Pie got a slew of new features added to the Android Open Source Platform including. . .

  • New user interface for the quick settings menu
  • The clock has moved to the left of the notification bar
  • The “dock” now has a semi-transparent background
  • Battery saver no longer shows an orange overlay on the notification and status bars
  • A “screenshot” button has been added to the power options
  • A new “Lockdown” mode which disables biometric authentication once activated
  • Rounded corners across the UI
  • New transitions for switching between apps, or activities within apps
  • Richer messaging notifications, where a full conversation can be had within a notification, full-scale images, and smart replies akin to Google’s new app, Reply
  • Support for display cutouts
  • Redesigned volume slider
  • Battery percentage now is shown in Always-On Display
  • Lock screen security changes include the possible return of an improved NFC Unlock
  • Experimental features (which are currently hidden within a menu called Feature Flags) such as a redesigned About Phone page in settings, and automatic Bluetooth enabling while driving
  • DNS over TLS
  • A new optional gesture-based system interface, allowing users to navigate the OS using swipes more often than the traditional UI
  • Redesigned multitask app switcher with Google search bar and app drawer built in.
  • Android Dashboard, which tells the user how much time you’re spending on your device and in apps, and allows the user to set time limits on apps
  • “Shush”, an enhanced version of Do Not Disturb mode activated by placing the phone face down, which mutes standard notifications
  • “Adaptive Battery” prediction, which makes use of Doze to hibernate user apps the OS determines the user will not use
  • Auto Brightness feature modifies screen brightness based on user habits
  • Wind Down option lets Android users set a specific bedtime that enables Do Not Disturb and turns the entire phone’s interface gray to discourage further use at night
  • Vulkan 1.1 support

. . .while some of these new features are small, subtle changes. There are a number of them that can drastically change the way you use your smartphone. Anyone who is curious to learn more about those bigger features should read this detailed article that talks about the new features of Android Pie.

What is AOSP Google

So Google Makes All of the Changes to AOSP?

This actually isn’t true. I did mention that Google has final say as to what is published into the AOSP codebase. However, they aren’t the only ones who are writing the code that goes into Android. This can be anyone from a humble coder to develops on the side and is tired of certain bugs or a major corporation that partners with Google to add in features to the Android platform.

I know plenty of developers from XDA that have submitted bug fixes for kernels that have been accepted by Google. I also know that it’s Sony who is responsible for the OMS theming system that so many people use when they install Substratum on their phone. We even just saw something similar with Google and Samsung working together to natively adapt an API into AOSP that their upcoming foldable smartphone can leverage.

I say “natively adapt” an API because Android will be able to support these upcoming foldable smartphone/tablets by modifying the existing screen continuity API. This is actually an API that has been in Android for a while now and it allows apps to recognize when the screen size has changed.

This is actually one of the many major benefits of open source in general. Just like the name (AOSP) implies, the core codebase of Android is open source and that means anyone can use it, change it modify it, and create anything they want with it.

That is, as long as they follow the Apache License 2.0 GNU GPL v2 and publish the source code of the kernel for the device. I don’t want to get into too much detail here when it comes to the GNU General Public Licenses. But just know that you can take the Android Open Source Project and use it if you’d like.

What is AOSP OEMs

This is What Major Smartphone OEMs Do

Companies such as Samsung, LG, HTC, Huawei, Xiaomi and others don’t have any advantages over you when it comes to what they do with the original code of the Android Open Source Project. Now, Google does work closely with some of these companies and they do give them early access to the code in some cases.

This is done to get those major Android version updates pushed out to their customers faster. But once the AOSP source code drops you can make your own version of Android if you would like. And that is actually what a lot of custom ROMs are based off of.

If you’ve dabbled in the custom ROM scene for any length of time then you have most likely heard of LineageOS. This custom ROM was previously known as CyanogenMod and it’s actually what the majority of the other custom ROMs are based on. The developers and maintainers of LineageOS use AOSP as the base of their custom ROM.

These developers then add in features to the software that they want to see and that is why the custom ROM scene is as popular as it is among the Android enthusiast crowd. Custom ROMs like LineageOS have their own set of features built into them and that list usually grows bigger with ROMs which are based on it.

For example, Resurrection Remix is based on LineageOS but the developers want even more features. So they add those extra features into the operating system and some are very happy with this. Others will say these types of custom ROMs are bloated. . .and it’s funny because it’s the same thing they say about OEM ROMs like Samsung Experience.

Does That Answer Your Question of What is AOSP?

The Android Open Source Project is where it all begins. I didn’t even get a chance to get into the technical aspects of the AOSP but I do hope I was able to answer your question. Remember, this is Android 101 and I felt it would be best to start with how the new version of Android begins year after year.

I can go over the history of Android in future articles but I feel the term AOSP is used so much that people may get it confused with what it actually means. Some will refer to an AOSP build as “stock Android” but even that opens up an entirely new can of worms that has a different meaning from person to person.

Feel free to leave your questions down below. Questions can be as technical as they want (although I may not be able to answer them all), remember this is Android 101 and it’s meant to give you a basic understanding of what is AOSP.

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

How to Create a Nandroid Backup of the Redmi Note 5 Pro

Next Post

Nexus 6: How to Install a Custom Kernel

Related Posts