Los HAL de HIDL garantizan que el sistema central de Android (también conocido como system.img o framework) sea retrocompatible. Si bien las pruebas del Vendor Test Suite (VTS) garantizan que las HAL funcionen según lo esperado (p.ej., las pruebas de HAL 1.1 se ejecutan en todas las implementaciones 1.2), se necesitan pruebas 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 la interfaz de HAL (HIDL), consulta HIDL, Control de versiones de HIDL y Baja de la HAL de HIDL.
Acerca de las actualizaciones de HAL
Existen dos tipos de actualizaciones del 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 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 del cliente conveniente. En el ejemplo anterior, teleportd
debe funcionar sin importar la versión del HAL instalada en el dispositivo.