Skip to main content
Android Open Source Project
Docs
  • What's new?
  • Release notes
  • Latest security bulletins
  • Latest Compatibility Definition Document (CDD)
  • Site updates
  • Getting Started
  • About
  • Start
  • Download
  • Build
  • 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
  • Get Started
  • Guidelines for Development
  • Development Tools
  • Testing Tools and Infrastructure
  • 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
Android Open Source Project
  • Docs
    • More
    • What's New?
    • Getting Started
    • Security
    • Core Topics
    • Compatibility
    • Android Devices
    • Automotive
    • Reference
  • Android Code Search
  • Overview
  • Architecture
    • Overview
    • Hardware abstraction layer (HAL)
      • Overview
      • HIDL (deprecated)
        • Overview
        • Interfaces and packages
        • Interface hashing
        • Services and data transfer
        • Fast Message Queue
        • Use Binder IPC
        • Use MemoryBlock
        • Network stack configuration tools
        • Model threading
        • Convert HAL modules
        • Data types
        • Safe union
        • Interface versioning
        • Code style guide
        • HIDL C++
        • Overview
        • Packages
        • Interfaces
        • Data types
        • Functions
        • HIDL Java
        • Overview
        • Data types
        • Interface methods and errors
        • Export constants
        • Other
        • HIDL framework backward compatibility verification
        • Dynamically available HALs
      • Legacy HALs (AOSP <=v7)
    • Kernel
      • Overview
      • Kernel release notes
      • Stable kernel releases and updates
      • Android common kernels
      • GKI project
      • GKI development
      • GKI versioning scheme
      • GKI release builds
        • Overview
        • android12-5.10 release builds
        • android13-5.10 release builds
        • android13-5.15 release builds
        • android14-5.15 release builds
        • android14-6.1 release builds
        • android15-6.6 release builds
        • android16-6.12 release builds
      • GKI deprecated builds
        • android12-5.10 deprecated builds
        • android13-5.10 deprecated builds
        • android13-5.15 deprecated builds
        • android14-5.15 deprecated builds
        • android14-6.1 deprecated builds
        • android15-6.6 deprecated builds
        • android16-6.12 deprecated builds
      • GKI release process
      • GKI 16-6.12 android-mainline errata
      • Maintain a stable KMI
      • Kernel ABI monitoring
        • Overview
        • Run ABI monitoring
        • Work with symbol lists
      • Modules
        • Overview
        • Configure kernel features as GKI modules
        • Vendor module guidelines
        • Loadable kernel modules
        • Kernel module support
        • Test GKI modules
      • Boot time optimization
      • Debug features
      • Develop kernel code for GKI
      • Android kernel file system support
      • Extend the kernel with eBPF
      • Use DebugFS in Android 12
      • FIPS 140-3 certifiable GKI crypto module
      • EROFS
      • Android kernel FAQ
      • Kernel networking unit tests
      • Transition from ION to DMA-BUF heaps (5.4 kernel)
      • Incremental file system
    • Configuration
      • Overview
      • Implement system properties as APIs
      • Add system properties
      • Implement Config File Schema API
      • Archive
        • Overview
        • ConfigStore
        • Create the HAL interface
        • Implement the service
        • Client-side use
        • Add ConfigStore classes and items
    • Device tree overlays
      • Overview
      • Implement DTOs
      • DTO syntax
      • Compile and verify
      • Use multiple DTs
      • DTB and DTBO partitions
      • Optimize DTO
    • Vendor NDK (<=AOSP 14)
      • Overview
      • Enable VNDK
      • VNDK build system support
      • VNDK extensions
      • VNDK snapshot design
      • Generate VNDK snapshots
      • Generate vendor snapshots
      • Linker namespace
      • Directories, rules, and sepolicy
      • RenderScript
      • ABI stability
      • Prebuilt ABI usages checker
    • Vendor interface object
      • Overview
      • Manifests
      • Compatibility matrixes
      • FCM lifecycle
      • Device manifest development
      • Match rules
      • Additional resources
    • AIDL
      • Overview
      • AIDL language
      • AIDL backends
      • Stable AIDL
      • AIDL for HALs
      • Run AIDL services dynamically
      • Annotations in AIDL
      • FMQ with AIDL
      • AIDL fuzzing
      • AIDL style guide
    • Interprocess communication with Binder
      • Overview
      • Handle threads
      • Priority inheritance
    • Bootloader
      • Overview
      • Canonical boot reason
      • Boot image header
      • Implement bootconfig
      • Recovery images
      • DTB images
      • Implement OTA updates
      • Lock and unlock the bootloader
      • Version information in AVB properties
      • Move fastboot to userspace
      • Generic Bootloader
        • Overview
        • Deploy GBL
    • Partitions
      • Overview
      • Partition layout
      • Vendor boot partitions
      • Vendor and ODM DLKM partitions
      • Android shared system image
      • Ramdisk partitions
      • Generic boot partition
      • ODM partitions
      • Product partitions
      • Implement a GKI module partition
      • Enforce product partition interfaces
      • Trusty OS partitions
    • 16 KB page size
      • Overview
      • Use Cuttlefish with 16 KB page size on ARM64
      • Simulate Cuttlefish with 16 KB page size on x86-64
      • Build and Flash Pixel 8 devices with 16 KB support
      • Flash Pixel with 16 KB page size support
      • Get the page size
      • Optimize performance for 16 KB mode
      • 16 KB system properties
      • Enable 16 KB toggle
      • Enable 16 KB backcompat option
    • Vendor API level
  • Audio
    • Overview
    • Terminology
    • Implementation
      • Audio HAL
      • AIDL Audio HAL
      • Configurable Audio Policy support in AIDL HAL
      • AIDL and HIDL Audio HAL comparison
      • HIDL
        • HIDL Audio HAL
        • Configure audio policies
        • Configure a shared library
      • Configure preprocessing effects
    • Data formats
    • Attributes
    • Effects
    • High-resolution audio
    • Device type limit
    • AAudio and MMAP
    • Audio warmup
    • Latency
      • Overview
      • Contributors
      • Design for reduced latency
      • Measure audio latency
      • Audio loopback dongle
      • Measurements
      • For app developers
    • Avoid priority inversion
    • Sample rate conversion
    • Debugging
    • MIDI
      • Overview
      • MIDI architecture
      • MIDI test procedure
    • USB
      • USB digital audio
      • Preferred mixer attributes on USB devices
    • TV audio
    • Concurrent capture
    • Sound Trigger
    • Combined audio device routing
    • Spatial audio
      • Spatial audio and head tracking
      • Implementation
      • Head tracking over LE audio
    • Sound dose
    • Dynamic soundbar mode
  • Camera
    • Overview
    • Architecture
    • Camera HAL
    • HAL subsystem
    • Core concepts
    • 3A modes and state transition
    • Camera debugging
    • Error and stream handling
    • Metadata and controls
    • Output streams, cropping, and zoom
    • Request creation and submission
    • Stream configurations
    • Performance
    • Camera HAL3 buffer management APIs
    • Session parameters
    • Single producer, multiple consumer
    • Camera features
    • 10-bit camera output
    • Camera bokeh
    • Concurrent camera streaming
    • Camera extensions
    • Camera extensions validation tool
    • Camera preview stabilization
    • External USB cameras
    • High dynamic range modes
    • HEIF imaging
    • Monochrome cameras
    • Motion tracking
    • Multi-camera support
    • System cameras
    • Torch strength control
    • Ultra HDR
    • Use a device as a webcam
    • Wide gamut capture
    • Versioning
    • Camera version support
  • Connectivity
    • Overview
    • Bluetooth
      • Overview
      • Bluetooth services
      • Bluetooth Low Energy
      • Hearing aid audio support using BLE
      • BLE advertising
      • Verify and debug
      • HCI requirements
      • Presence calibration
      • Android OS identification
    • NFC
      • Host card emulation of FeliCa
      • NFC off-host payment synchronization
      • Secure NFC
      • Quick Access Wallet
      • Android proprietary NCI commands
    • Calling and messaging
      • 5G non-standalone (NSA)
      • Implement phone number blocking
      • Call notifications
      • Domain selection service
      • Implement Emergency Affordance
      • Android emergency number database
      • Emergency numbers and emergency calling
      • Implement IMS
      • IMS service entitlement
      • IMS single registration
      • Phone account suggestion
      • Implement RTT
      • Support third-party calling apps
      • Visual voicemail
    • Carrier
      • Overview
      • 5G network slicing
      • APN and CarrierConfig
      • Carrier identification
      • Implement data plans
      • Device identifiers
      • eSIM
        • Implement eSIM
        • Modem requirements for eSIM support
        • eUICC APIs
        • Multiple enabled profiles
        • Handle eUICC API errors
        • Downloadable test profiles
        • eSIM transfer carrier integration
      • Improve VPN user experience
      • Multi-operator network support
      • Customize device behavior for out-of-balance users
      • RIL refactoring
      • Small cell support
      • UICC carrier privileges
    • Time
      • Overview
      • Location time zone detection
      • Telephony time zone detection
      • Network time detection
      • GNSS time detection
      • External time detection
      • Time source priority
      • Time zone policy and recommendations
      • Time zone rules
    • Ultra-wideband
      • Overview
      • UWB HAL interface
    • Wi-Fi
      • Overview
      • Wi-Fi HAL
      • Wi-Fi infrastructure features
      • Test, debug, and tune Wi-Fi
      • Android Packet Filter
      • Carrier Wi-Fi
      • MAC randomization behavior
      • Implement MAC randomization
      • Passpoint (Hotspot 2.0)
      • Wi-Fi STA/AP concurrency
      • Wi-Fi STA/STA concurrency
      • Trust on First Use (TOFU)
      • Wi-Fi Aware
      • Wi-Fi/cellular coex channel avoidance
      • Wi-Fi Direct
      • Wi-Fi Easy Connect
      • Wi-Fi hotspot (Soft AP)
      • Wi-Fi AP/AP concurrency
      • Wi-Fi low-latency mode
      • Wi-Fi network selection
      • Wi-Fi preferred network offload scanning
      • Wi-Fi Round Trip Time (RTT)
      • WPA3 and Wi-Fi Enhanced Open
      • Wi-Fi 7
    • Companion device profiles
    • Connectivity Diagnostics API
    • Connectivity user interface
    • Network selection
    • Ranging: Out-of-band message sequence and payload specification
    • Signal strength reporting
  • Data
    • Overview
    • Data usage tags explained
    • Data Saver mode
    • eBPF traffic monitoring
    • Exclude network types from usage data
    • Network interface statistics overview
    • Tethering data
    • Tethering hardware offload
    • Usage cycle reset dates
    • Kernel overview
    • Kernel changes
  • Display
    • Overview
    • Apps
      • Implement adaptive icons
      • App shortcuts
      • Implement circular icons
      • Conversation notifications and widgets
      • Window blurs
      • Widgets and shortcuts
      • Implement synchronized app transitions
    • Color
      • Color management
      • Display cutouts
      • Do not disturb
      • HDR video playback
      • Implement night light
      • Tone mapping HDR luminance to an SDR-compatible range
      • Material You design
      • Dynamic color
    • Multi-Window
      • Overview
      • Desktop windowing features
      • Split-screen interactions
      • Picture-in-picture
      • Window magnification
    • Multi-Display
      • Overview
      • Recommended practices
      • Testing and development environment
      • Frequently asked questions
      • Multi-resume
      • Activity launch policy
      • Display support
      • System decorations support
      • Lock screen
      • Input method editor support
      • Input routing