Los HAL de HIDL garantizan que el sistema principal de Android (también conocido como system.img o el framework) sea retrocompatible. Si bien las pruebas del Conjunto de pruebas de proveedores (VTS) garantizan que los HAL funcionen como se espera (p.ej., las pruebas de HAL 1.1 se ejecutan en todas las implementaciones de 1.2), se necesitan pruebas de framework para garantizar que, cuando se proporcione un HAL compatible (1.0, 1.1 o 1.2), el framework funcione correctamente con ese HAL.
Para obtener detalles sobre el lenguaje de definición de la interfaz de HAL (HIDL), consulta HIDL, control de versiones de HIDL y baja de HAL de HIDL.
Información acerca de las actualizaciones de HAL
Existen dos tipos de actualizaciones de HAL: mayor y menor. 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 de 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 implemente un comportamiento conveniente del cliente. En el ejemplo anterior, teleportd
debe funcionar sin importar qué versión del HAL esté instalada en el dispositivo.