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