Skip to main content
Docs
What's new?
Release notes
Latest security bulletins
Latest Compatibility Definition Document (CDD)
Site updates
Getting Started
About
Start
Download
Builds
Test
Create
Contribute
Community
Tools, build, and related reference
Security
Overview
Bulletins
Features
Testing
Best Practices
Core Topics
Architecture
Audio
Camera
Connectivity
Data
Display
Fonts
Graphics
Interaction
Media
Performance
Permissions
Power
Runtime
Settings
Storage
Tests
Updates
Virtualization
Compatibility
Compatibility Definition Document (CDD)
Compatibility Test Suite (CTS)
Android Devices
Cuttlefish
Enterprise
TV
Automotive
Overview
Software Defined Vehicle
In-vehicle Infotainment
Release Details
Reference
HIDL
HAL
Trade Federation
Security Test Suite
Android Code Search
/
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Polski
Português – Brasil
Tiếng Việt
Türkçe
Русский
עברית
العربيّة
فارسی
हिंदी
বাংলা
ภาษาไทย
中文 – 简体
中文 – 繁體
日本語
한국어
Sign in
Documentation
What's New?
Getting Started
Security
Core Topics
Compatibility
Android Devices
Automotive
Reference
Docs
More
What's New?
Getting Started
Security
Core Topics
Compatibility
Android Devices
Automotive
Reference
Android Code Search
Overview
About
AOSP overview
FAQ
Start
Try Android development
Understand terminology
Set up for AOSP development (9.0 or later)
Set up for AOSP development (2.3 - 8.0)
Download
Download the Android source
Troubleshoot and fix sync issues
Source control tools
Build
Build overview
Build Android
Use feature launch flags
Feature launch flag overview
Determine flag usage and type
Declare an aconfig flag
Wrap code change in feature launch flag
Set feature launch flag values
Change a flag's value at runtime
Declare and use a build flag
Test code within feature launch flags
Build kernels
Build Pixel kernels
Convert from Make to Soong
Implement Java SDK library
Android Rust
Introduction
Android Rust modules
Binary modules
Library modules
Test modules
Fuzz modules
Source generators
Source generators overview
Bindgen bindings modules
Protobuf modules
Hello Rust example
Android Rust patterns
Rust IDE setup
Compile with Jack
Create
Source control workflow
Custom device development
Add a new device type
Build for 32-bit and 64-bit architectures
Use reference boards
Create a software bill of materials (SBOM)
Configure and handle update ownership for apps
Test
Test a build
Flash with Fastboot
Flash with Android Flash Tool
Test with the cuttlefish emulator
Use Android Emulator virtual devices
Contribute
Overview
Android Code Search
Contributor license agreements and headers
Release lifecycle
Submit code changes
Contribute to upstream projects
Git source editor
Review a change
Download build artifacts
Report and track bugs
Code with respect
AOSP Java code style for contributors
API guidelines
Overview
Android async and nonblocking API guidelines
Android API client-side caching guidelines
Community
Code of conduct
Discussion groups, contacts, and additional resources
Tools, build, and related reference
Overview
Android.bp file format
Kernel branches and their build systems
Codenames, tags, and build numbers
Fastboot key combinations
Repo command reference
What's new?
Release notes
Latest security bulletins
Latest Compatibility Definition Document (CDD)
Site updates
Getting Started
About
Start
Download
Builds
Test
Create
Contribute
Community
Tools, build, and related reference
Security
Overview
Bulletins
Features
Testing
Best Practices
Core Topics
Architecture
Audio
Camera
Connectivity
Data
Display
Fonts
Graphics
Interaction
Media
Performance
Permissions
Power
Runtime
Settings
Storage
Tests
Updates
Virtualization
Compatibility
Compatibility Definition Document (CDD)
Compatibility Test Suite (CTS)
Android Devices
Cuttlefish
Enterprise
TV
Automotive
Overview
Software Defined Vehicle
In-vehicle Infotainment
Release Details
Reference
HIDL