The Vehicle Hardware Abstraction Layer (VHAL) interface defines the properties OEMs can implement and contains property metadata (for example, whether the property is an int and which change modes are allowed). The VHAL interface is based on accessing (read, write, subscribe) a property, which is an abstraction for a specific function.

To learn more about working with the VHAL, see these articles:

  • Vehicle Properties. Learn about the properties you can implement.
  • Debugging the VHAL. Read how to dump the current status of the VHAL and how to include the VHAL process dump in dumpstate.
  • Watchdog. The Watchdog module consists of a native daemon and a CarService component. The native daemon interacts with the native services and the CarService component interacts with the Android applications and Java services..