Skip to content

Introduction

What This Book Covers

67 chapters organized bottom-to-top through the Android architecture:

Part Ch. Topics
Front 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
IX 43 LFI In-Process Sandbox
X 44 Widgets & RemoteViews (RemoteCompose)
X 45 WebView
X 46 Accessibility
X 47 Internationalization
XI 48 SystemUI (Monet/Keyguard)
XI 49 Launcher3
XI 50 Settings
XII 51 AI & AppFunctions (Computer Control)
XII 52 Companion & Virtual Devices
XII 53 NPU Manager
XIII 54 Mainline Modules (APEX)
XIII 55 OTA Updates
XIII 56 Virtualization (pKVM/crosvm)
XIII 57 Testing (CTS/VTS/Ravenwood)
XIII 58 Debugging Tools (Perfetto)
XIV 59 Architecture Support (ARM/x86/RISC-V)
XIV 60 Emulator
XIV 61 Device Policy
XIV 62 Device Form Factors
XIV 63 Print Services
XIV 64 Camera2 Pipeline
XV 65 Custom ROM Guide (step-by-step)
XV 66 Running Windows Games on Android
App. A Key Files Reference
App. B Glossary
App. C Why Kotlin Isn't on the Public API
App. D Android 17 Updates

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.