Understanding the evolution of the Android platform is essential for AOSP developers. Platform changes across versions dictate API availability, security policies, and system architecture.
The Foundation Era (Android 1.5 - 4.3)
Early Android versions established the core application framework and hardware abstraction layers.
- Android 1.5 Cupcake (API 3): Introduced the Input Method Framework (IMF) and AppWidget framework.
- Android 2.2 Froyo (API 8): Introduced the Dalvik JIT (Just-In-Time) compiler, significantly improving runtime performance.
- Android 4.0 Ice Cream Sandwich (API 14): Unified the phone and tablet UI frameworks (Holo) and introduced hardware-accelerated 2D drawing.
- Android 4.1 Jelly Bean (API 16): Introduced Project Butter, implementing vsync timing, triple buffering, and touch responsiveness enhancements to achieve 60fps UI rendering.
The Modern Runtime & Security Era (Android 5.0 - 7.0)
This era marked a shift towards ahead-of-time compilation and stricter security boundaries.
- Android 5.0 Lollipop (API 21):
- Replaced the Dalvik virtual machine entirely with the Android Runtime (ART), featuring Ahead-of-Time (AOT) compilation.
- Introduced full 64-bit ABI support.
- Enforced SELinux in enforcing mode for all domains.
- Android 6.0 Marshmallow (API 23): Introduced the runtime permission model, changing how the system grants capabilities to apps.
- Android 7.0 Nougat (API 24): Introduced A/B (Seamless) system updates and the Vulkan graphics API. ART was updated to support Profile-Guided Just-In-Time (JIT) compilation alongside AOT.
The Architectural Era (Android 8.0 - 10.0)
Google fundamentally restructured the OS to separate vendor implementations from the core framework.
- Android 8.0 Oreo (API 26): Introduced Project Treble, a major re-architecture of the OS framework. It separated the vendor implementation (device-specific, lower-level software written by silicon manufacturers) from the Android OS framework via a new Hardware Interface Definition Language (HIDL).
- Android 9.0 Pie (API 28): Introduced Neural Networks API 1.1 and tightened background execution limits.
- Android 10 (API 29): Introduced Project Mainline (APEX modules) to deliver core OS components via Google Play System Updates. Also introduced Scoped Storage and full gesture navigation.
The Privacy & Modularity Era (Android 11 - 15)
Recent versions focus on granular privacy controls, virtualization, and advanced hardware support.
- Android 11 (API 30): Introduced one-time permissions, scoped storage enforcement, and Wireless ADB.
- Android 12 (API 31): Major UI overhaul (Material You). Introduced the
system_extpartition and enhanced privacy indicators. - Android 13 (API 33): Expanded Project Mainline, introduced the Photo Picker API, and per-app language preferences.
- Android 14 (API 34): Stricter foreground service types, exact alarm scheduling restrictions, and credential manager.
- Android 15 (API 35): Introduced Private Space, partial screen sharing, and expanded satellite connectivity APIs. Continued expansion of APEX modules.
Key Developer Milestones
As an AOSP developer, the most critical architectural milestones are:
- ART (Android 5.0): Changed the fundamental app execution environment from Dalvik.
- Treble (Android 8.0): Enforced strict separation of
/systemand/vendorpartitions via defined HALs. - Mainline (Android 10): Modularized system components into APEX packages, allowing out-of-band updates.