Everything you need to know about AOSP

AOSP

While reading Android news stories, exploring XDA's custom ROM forums, or simply researching the Android mobile operating system, you may have come across the initials AOSP. What is hidden behind the acronym AOSP?

An acronym is a special case of abbreviation. Acronyms are created by shortening words or word groups to their initial components. The acronym AOSP stands for Android Open Source Project. This explanation is a quick simplified answere to the question, "What is AOSP?". However, you don't seem to have learned anything about AOSP yet. Let's have a closer look.

What is AOSP?

Google maintains the AOSP, which is an ASCII text file software package development program. Because of the project's nature, anybody may inspect and submit code and patches to the repository. Google is in charge of the majority of the effort and it's overall roadmap. The AOSP is updated daily with the most recent robot bug and security updates. Every year at its I/O developer conference, Google releases significant new features for the operationg system. The most recent version released is Android 12.

Not only can you contribute to the project, but it's also free & can be modified under an ASCII text file license. Some brands alter the project to fit their needs and have created their own spin-offs such as the helpful fire OS & Tizen. When it came to US trade restrictions and the loss of access to Google apps, this has proven to be a major factor in Huawei's continuous development of EMUI & Harmony OS.

It's also worth mentioning that almost every phone maker gets their AOSP versions from a chipset vendor like Qualcomm. This is since Android needs to be adapted to the low-level hardware via drivers. As a result, Android updates are frequently postponed or only supported for a few years. This approach pays off for Google. A large number of companies carry out repairs and changes to the operating system for a fee. It is a win-win situation for all parties involved.

Who uses the AOSP?

The Android Open Source Project is used by any smartphone manufacturer that offers an Android device. To be honest, the AOSP code is used by almost everyone who makes a smartphone nowadays that isn't an iPhone. Samsung, LG, HTC, Huawei, Xiaomi, ZTE, Honor, OnePlus, and a slew of more brands are among them. It makes no difference if it's Samsung's version of Android (named Samsung Experience), Xiaomi's version of Android (called MIUI), Huawei's version of Android (called EMUI), HTC's version of Android (called Sense UI), or even Google's very own version of Android.

All of these Android versions look, feel, and function differently, but they are all based on the same collection of code known as the Android Open Source Project (AOSP). Google maintains the Android codebase and delivers modifications to the Android Open Source Project repository once a year. This allows all of these smartphone manufacturers to start with a clean code base and then add their own modifications. These changes may include adjustments to the appearance, basic functionality, or the basic way software components interact with each other.

How is a new version of the AOSP created?

When it comes to what goes into the Android Open Source Project repository and what doesn't, Google has the final word. They can't possibly include everything in one release, so they normally start with a vision for the next major Android release. They then work on introducing a small number of APIs to the AOSP codebase (typically one or two). These APIs are available to 3rd-party developers as well as Google and smartphone OEMs for apps and games in the Google Play Store.

Although the majority of the new features in the next version of Android are based on the newly introduced API, this is not always the case. For example, Android 9 Pie brings several new features to the Android Open Source Platform, including:

  • The quick settings menu got a new user interface.
  • The clock in the notification bar has been moved to the left.
  • The background of the "Dock" became semi-transparent.
  • The notification and status bars no longer have an orange overlay from the battery saver.
  • The power settings included a "Screenshot" button.
  • A "lockdown" option that disables biometric authentication once it is enabled.
  • Rounded edges across the UI.
  • New transitions for navigating between applications or activities within applications.
  • Richer message alerts, including full-scale photos, full-scale text, and smart answers analogous to Google's new Reply app.
  • and several more...

While some of the new features are usually minor tweaks, others are significant improvements. A lot of them have the potential to radically alter how you to use Android-based devices such as smartphones.

Inside the Android Open Source Project

Android_Open_Source_Project_2-min

Operating systems, as you may expect, are complicated to create and maintain. Android is no exception. AOSP encompasses several software layers within the operating system, giving access points and tools for both hardware and software developers. Device makers code the OS to function with their individual hardware in the "lower-level" layers. 

For example, the Linux Kernel is the main software that handles CPU resources, system memory, networking, and other aspects of the operating system so that programs and services may operate. The Hardware Abstraction Layer (HAL) layer connects Bluetooth, sound, and other common app APIs to the device's microphone, speakers, and other features.

App developers take advantage of "higher-level" layers. Native Libraries allow developers to create content using low-level libraries like OpenGL ES, Webkit, and others. In addition, Android Frameworks provides app developers with hook-ins for common operating system features that we all use daily.

Location data, push alerts, and initiating phone calls are just a few examples. The Android Runtime acts as a translator, turning app code into native hardware instructions.

However, the AOSP is more than simply a collection of ever-expanding code. As part of the initiative, Google also provides design and development resources, such as compatibility documentation, best security practices, and app design principles. Google also offers a number of test suites to help developers confirm that their devices are appropriately implementing APIs and features.

Why is the project important?

Open-source operating systems are used for a variety of purposes. And while commercial applications and services come and go, open source software persists because they are supported by an active community.

Free operating systems can give new life to hardware that works perfectly but has been abandoned by big companies. There are many ethical reasons for open-source projects. Deciding who should play a role in what software runs on what hardware is one of them.

Critical voices describe Google's AOSP as a commercial, ad-laden experience. But Android is the best OS option for those who rely on open-source software. The OS offers incredible potential thanks to its huge developer community, and will continue to expand in the future. Today it is known for its use on commercial devices, but in the future it will be used more and more as an operating system for industrial applications. We know the main reason for this from the consumer area - usability!

The future of AOSP

Thanks to many hours of developer contribution from across the world, the Android Open Source Project continues to be the cornerstone of Android's success. While Android devices aren't going away anytime soon, Google is actively planning the future. 

In August 2016, a new open source project appeared on GitHub - Fuchsia. Since then, we haven't heard much. Unlike Google's previously developed Android and Chrome OS operating systems, which are based on the Linux kernel, Fuchsia is based on the new Zircon kernel. We still don't know much about Fuchsia, such as when or if it will be available to customers. It looks like it's being developed for a much wider range of devices than Android.

Summary 

Android is, at its core, a platform that anyone can run programs on, as well as the parts and components needed to communicate with traditional hardware. We often think of Android as an operating system for phones and tablets, but there are numerous other use cases for the operating system, such as its use in POS systems, infotainment solutions or kiosk applications. If you are looking for a powerful solution for your industrial use cases, turn to emteria. We bring Android to your hardware and ensure the success of your product.

Table of contents

emteria Demo
See emteria in action