HIDL HALs guarantee the Android core system (aka system.img or the framework) is backwards compatible. While Vendor Test Suite (VTS) tests ensure that HALs work as expected (e.g. 1.1 HAL tests are run on all 1.2 implementations), framework testing is needed to ensure that when a supported HAL (1.0, 1.1, or 1.2) is provided, the framework works properly with that HAL.
For details on HAL interface definition language (HIDL), refer to HIDL, HIDL versioning, and HIDL HAL Deprecation.
About HAL upgrades
There are two types of HAL upgrades: major and minor. Most systems include only one HAL implementation, but multiple implementations are supported. For example:
firstname.lastname@example.org # initial interface email@example.com # minor version upgrade firstname.lastname@example.org # another minor version upgrade ... email@example.com # major version upgrade ...
The system partition typically includes a framework daemon (such as
teleportd) that manages communication with a specific group of
HAL implementations. Alternatively, systems might instead
include a system library (such as
android.hardware.configstore-utils) that implements convenient
client behavior. In the example above,
teleportd must work no
matter what version of the HAL is installed on the device.