Las HAL de HIDL
garantizan que el sistema central de Android (también llamado system.img o framework) sea
retrocompatible. Si bien las pruebas del Conjunto de pruebas de proveedores (VTS) garantizan que las HAL funcionen como se espera (por ejemplo, las pruebas de HAL 1.1 se ejecutan en todas las implementaciones 1.2), se necesita una prueba del framework para garantizar que, cuando se proporciona una HAL compatible (1.0, 1.1 o 1.2), el framework funcione correctamente con esa HAL.
Para obtener detalles sobre el lenguaje de definición de interfaz HAL (HIDL), consulta HIDL, Control de versiones de HIDL, y Obsolecencia de HAL de HIDL.
Acerca de las actualizaciones de HAL
Existen dos tipos de actualizaciones de HAL: principales y secundarias. La mayoría de los sistemas incluyen solo una implementación de HAL, pero se admiten varias implementaciones. Por ejemplo:
android.hardware.teleport@1.0 # initial interface android.hardware.teleport@1.1 # minor version upgrade android.hardware.teleport@1.2 # another minor version upgrade ... android.hardware.teleport@2.0 # major version upgrade ...
Por lo general, la partición del sistema incluye un daemon del framework (como
teleportd) que administra la comunicación con un grupo específico de
implementaciones de HAL. Como alternativa, los sistemas pueden incluir una biblioteca del sistema (como android.hardware.configstore-utils) que implementa un comportamiento conveniente del cliente. En el ejemplo anterior, teleportd debe funcionar sin importar qué versión de la HAL esté instalada en el dispositivo.