Introduction
What This Book Covers¶
65 chapters organized bottom-to-top through the Android architecture:
| Part | Ch. | Topics |
|---|---|---|
| I | 0 | Frontmatter |
| I | 1 | Introduction |
| I | 2 | Source Code & Build System (Soong/Bazel/Kleaf) |
| I | 3 | Feature Flags (aconfig) |
| II | 4 | Boot and Init |
| II | 5 | Kernel (GKI) |
| II | 6 | System Properties |
| III | 7 | Bionic & Linker |
| III | 8 | Memory Management |
| III | 9 | Binder IPC |
| III | 10 | HAL (HIDL/AIDL) |
| III | 11 | NDK |
| IV | 12 | Native Services |
| IV | 13 | Graphics & Render Pipeline (OpenGL ES/Vulkan/Skia/HWUI) |
| IV | 14 | Animation System |
| IV | 15 | Audio System (Spatial) |
| IV | 16 | Media & Camera |
| IV | 17 | Sensors |
| V | 18 | ART Runtime |
| V | 19 | Native Bridge (Berberis) |
| VI | 20 | system_server |
| VI | 21 | Intent System |
| VI | 22 | Activity & Window Management |
| VI | 23 | Window System |
| VI | 24 | Display System |
| VI | 25 | View System |
| VII | 26 | Package Manager |
| VII | 27 | Content Providers |
| VII | 28 | Notifications |
| VII | 29 | Power Management |
| VII | 30 | Background Tasks |
| VII | 31 | Multi-User |
| VII | 32 | Account & Sync |
| VII | 33 | Location |
| VII | 34 | Storage |
| VIII | 35 | Networking (VCN/Thread) |
| VIII | 36 | Telephony (IMS) |
| VIII | 37 | Bluetooth |
| VIII | 38 | NFC |
| VIII | 39 | USB & ADB |
| IX | 40 | Security (TEE/Trusty) |
| IX | 41 | Credential Manager |
| IX | 42 | DRM |
| X | 43 | Widgets & RemoteViews (RemoteCompose) |
| X | 44 | WebView |
| X | 45 | Accessibility |
| X | 46 | Internationalization |
| XI | 47 | SystemUI (Monet/Keyguard) |
| XI | 48 | Launcher3 |
| XI | 49 | Settings |
| XII | 50 | AI & AppFunctions (Computer Control) |
| XII | 51 | Companion & Virtual Devices |
| XIII | 52 | Mainline Modules (APEX) |
| XIII | 53 | OTA Updates |
| XIII | 54 | Virtualization (pKVM/crosvm) |
| XIII | 55 | Testing (CTS/VTS/Ravenwood) |
| XIII | 56 | Debugging Tools (Perfetto) |
| XIV | 57 | Architecture Support (ARM/x86/RISC-V) |
| XIV | 58 | Emulator |
| XIV | 59 | Device Policy |
| XIV | 60 | Automotive/TV/Wear |
| XIV | 61 | Print Services |
| XIV | 62 | Camera2 Pipeline |
| XV | 63 | Custom ROM Guide (step-by-step) |
| XV | 64 | Running Windows Games on Android |
| App. | A | Key Files Reference |
| App. | B | Glossary |
| App. | C | Why Kotlin Isn't on the Public API |
License¶
This book is licensed under the Apache License 2.0, matching the license of the Android Open Source Project it analyzes. See the LICENSE file for details.
How to Navigate¶
Use the sidebar to browse chapters organized bottom-to-top through the Android architecture. Each chapter is self-contained but builds on previous ones.
Architecture Overview¶
graph TB
subgraph "Part I-III: Foundation"
BUILD[Build System] --> BOOT[Boot/Init]
BOOT --> KERNEL[Kernel]
KERNEL --> BIONIC[Bionic/Linker]
BIONIC --> BINDER[Binder IPC]
BINDER --> HAL[HAL]
end
subgraph "Part IV-V: Services & Runtime"
HAL --> NATIVE[Native Services]
NATIVE --> ART[ART Runtime]
end
subgraph "Part VI-VII: Framework"
ART --> SYSTEM[system_server]
SYSTEM --> WMS[Window/Display]
SYSTEM --> PMS[Package Manager]
SYSTEM --> SERVICES[Framework Services]
end
subgraph "Part VIII-XII: Features"
SERVICES --> CONNECTIVITY[Connectivity]
SERVICES --> SECURITY[Security]
SERVICES --> UI[UI Framework]
SERVICES --> APPS[System Apps]
SERVICES --> AI[AI/ML]
end
subgraph "Part XIII-XV: Platform"
APPS --> INFRA[Infrastructure]
INFRA --> DEVICES[Device Support]
DEVICES --> ROM[Custom ROM]
end
Support This Project¶
If this book has helped you understand AOSP, please consider showing your support:
- Star the repository on GitHub so other developers can find it.
- Report errors or suggest improvements via the issue tracker.
- Share the book with colleagues and communities working on Android.
Stars and feedback are the main signal that the work is useful, and they motivate continued writing and review.