### WELCOME If you came to learn about AOSP then you’re in exactly the right place to start from scratch. The Android source code might look intimidating at first, but once we peel back the layers bit by bit, it starts to make a lot more sense. Since you're exploring AOSP from the ground up, In this you can learn about it and how to customize it and build it and use it in your phone in a structured way. Also kepp in mind that Im doing this as an side hobby to my main hobby so i will try to finish this when ever i have time. Let’s start by building a foundational Knowledge about AOSP ### What is AOSP? The **Android Open Source Project (AOSP)** is the official open-source codebase of Android maintained by Google. It includes all the components that power Android devices — from the low-level kernel, up to the system apps and libraries. It's split into layers, kind of like a cake: 1. **Linux Kernel** – The core that manages hardware. 2. **HAL (Hardware Abstraction Layer)** – A bridge between hardware and Android services. 3. **Native Libraries** – Written in C/C++ and power media, graphics, etc. 4. **Android Runtime (ART)** – Runs your apps written in Java or Kotlin. 5. **Framework Layer** – High-level APIs that app developers use. 6. **System Apps** – Phone, Contacts, Settings, etc. ### Tools You'll Eventually Use - `repo` – For syncing and managing Android source. - `lunch`, `make` – To configure and build the OS. - `adb` – To talk to Android devices. - `fastboot` – For flashing firmware. - Theres is much more, you will get to know about it later in this guide. I will explain each part step-by-step as i learned. Sit back tight. Lets Jump into AOSP Source Tree Structure.