Skip to content

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.