Features and Future Scope in AOSP - Part 2

Something that started as a hobby of mine, to something that I do professionally in my daily life. Core Features Modular Architecture Dynamic partitions for seamless A/B updates (and easy rollback) across devices. Many System Components packaged as APEX modules. Mainline Modules allow Google to update system components via Play Store. GKI (Generic Kernel Image) standardizes kernel builds across various devices. Flexibility Modify or change SystemUI, Quick Settings, lockscreen, and much more. Runtime Resource Overlay framework for live theming and UI-tweaks all without rebuilding or reflashing. Add or remove default apps, permissions, or behavior. Extend frameworks/base to add your own services or APIs. Device Portability ...

July 22, 2025 · 504 words · squadri

Getting Started with AOSP - Part 1

Today marks six years since I compiled my very first Android source build — it was Android 7.0 Nougat. Ever since then, I’ve been deeply involved in Android platform development, and there’s one question that keeps coming back to me, asked by thousands of people: “What does it actually take to get started with AOSP?” If you’re new to the Android Open Source Project, the sheer scale of it can feel overwhelming. I still get the occasional nightmare navigating through frameworks/base, HAL layers, and random blueprint files scattered across the tree. ...

July 22, 2025 · 375 words · squadri

Using AOSP Kernel Build

In my previous blog, we talked about how to cross-compile Android Kernel, but there is another official way that ODMs use to compile their kernel sources, via AOSP Kernel Build. This blog covers 2 aspects: Compile using Legacy AOSP Kernel Build Add support for bazel Kernel Build Bazel is an open-source build and test tool from Google. It supports a wide range of programming languages and platforms, and it’s known for its speed and ability to handle large codebases efficiently. Bazel uses a build system that allows for incremental builds, parallel execution, and sophisticated dependency analysis, making it a popular choice for complex projects like AOSP. ...

August 14, 2024 · 2096 words · squadri

Cross-Compiling Android Linux Kernel

When you use your Android device, you’re interacting with a complex system that relies heavily on the Linux kernel at its core. But what exactly is the Android Linux kernel, and how does it work? What is Linux Kernel? The Linux kernel is the core component of the Linux operating system, responsible for managing hardware resources (such as the CPU, memory, and devices), providing essential services to software applications, and ensuring secure and efficient operation of the entire system. ...

July 24, 2024 · 716 words · squadri

LFX Mentorship for Linux Kernel Bug Fixing

Learn more about the Linux Foundation Mentorship programme, and hear from someone who went through the process. What is LFX mentorship? “The Linux Foundation Mentorship Program is designed to help developers — many of whom are first-time open source contributors — with necessary skills and resources to learn, experiment, and contribute effectively to open source communities. By participating in a mentorship program, mentees have the opportunity to learn from experienced open source contributors as a segue to get internship and job opportunities upon graduation.” ...

July 27, 2023 · 693 words · squadri

Introduction to AOSP

The Android Open Source Project is an open source development project managed by Google, and anyone is welcome to evaluate and add code and fixes to the source code. Android System Architecture Let’s first talk about the layers of an Android device’s architecture before delving into the build system and the source code. Application Layer: This layer includes built-in/system applications for direct end-user interaction. ...

November 6, 2022 · 1867 words · squadri

Android Device Tree Bringup

Learn how to bring-up a device tree for your device so you can get started with building your favourite custom ROM! Some of you guys might be wondering how people create your favorite custom ROMs like LineageOS, PixelExperience, HavocOS, and so on. I’m here to guide you about the basics of a device tree and how to do a scratch bring-up of your own. This article is a follow-up to my earlier article, Introduction to AOSP in which we discussed the fundamentals of and how to join the Android Open Source Project. ...

October 4, 2021 · 3190 words · squadri

Writing an Overlayed DTS

Overlayed device trees are written in order to avoid changing the base device tree structures already present in the kernel source, and just get them overridden during compilation. Learn how to create them! Basics A device tree is a data structure for describing hardware. Overlayed device trees are written in order to avoid changing the base device tree structures already present in the kernel source, and just get them overridden during compilation. ...

September 21, 2021 · 1164 words · squadri