This document provides an overview of Android's HIDL (Hardware Interface Definition Language). It begins with introductions to HIDL's goals of providing versioned hardware interface definitions and how it fits into Android's architecture. It then covers basics like HAL's traditional C-based implementation, HIDL's similarities to AIDL, and links to documentation. The document dives deeper into HIDL's architecture including the JNI, HIDL, and HIDL glue layers. It walks through an example of lights HAL implementation. Finally, it discusses adding a new HIDL interface, the supporting infrastructure, and acknowledges diagram sources.