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
RECOMMEND
For existing HIDL VHAL implementations, migrate to the newer AIDL
interface.
STRONGLY RECOMMEND
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.
Last updated 2025-02-05 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-05 UTC."],[],[]]