Effective in 2026, to align with our trunk stable development model and ensure platform stability for the ecosystem, we will publish source code to AOSP in Q2 and Q4. For building and contributing to AOSP, we recommend utilizing android-latest-release instead of aosp-main. The android-latest-release manifest branch will always reference the most recent release pushed to AOSP. For more information, see Changes to AOSP.
Overview
Stay organized with collections
Save and categorize content based on your preferences.
The vehicle hardware abstraction layer (VHAL) interface defines the properties OEMs can
implement and contains property metadata. For example, whether a property is an integer and
which change modes are allowed. The VHAL interface is based on accessing (reading, writing, and
subscribing) a property, which is an abstraction for a specific function.
In Android 13 and higher, VHAL migrated to AIDL at IVehicle.aidl
In Android 12 and lower, VHAL is defined with HIDL language in IVehicle.hal
CarService and Android native components support HIDL and AIDL backend and prefer the AIDL
backend when it's available.
Guidance
Description
STRONGLY RECOMMEND
For existing HIDL VHAL implementations, migrate to the newer AIDL
interface.
MUST
For new VHAL implementations, use the AIDL interface.
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.