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. |
To learn more about the VHAL, see these pages: