Starting March 27, 2025, we recommend using android-latest-release instead of aosp-main to build and contribute to AOSP. For more information, see Changes to AOSP.

AIDL Audio HAL

Starting with Android 14, the Audio HAL interface is defined using Stable AIDL. Partners and SoC vendors are encouraged to reimplement their Audio HAL to provide an AIDL interface.

Extending the libaudiohal library adds framework support for AIDL HAL. With the AIDL implementation, the audio policy configuration specification is moved to AIDL HAL. With this change, the Audio Policy Manager (APM) gets the configuration from the HAL instead of consuming it from the vendor-provided XML file.

Audio AIDL HAL API

This section describes the Core, Effects, and Common HAL APIs for AIDL.

Use default implementation of the AIDL API at /hardware/interfaces/audio/aidl/default/ as a reference when implementing new versions of Audio HALs that interact with kernel drivers.

See the Audio HAL README file for the Audio HAL directory structure for AIDL.

Core HAL

Some of the key interfaces of Core HAL, using AIDL, are as follows:

Effects HAL

Some of the key interfaces of Effects HAL, using AIDL, are as follows:

See the Audio Effects for more information.

Common HAL

Data structures and interfaces shared between various HALs such as BT HAL, core and effects Audio HALs are in the Common HAL.

Common stable data types

Stable data structure definitions are used both by HALs and the framework.

Testing the Audio AIDL HAL API

New VTS tests are provided for the AIDL interface.

There are no changes in the new HAL version that can affect security.

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2025年12月02日 UTC.