As HALs HIDL garantem que o sistema principal do Android (também conhecido como system.img ou framework) seja compatível com versões anteriores. Embora os testes do Vendor Test Suite (VTS) garantam que as HALs funcionem conforme o esperado (por exemplo, os testes da HAL 1.1 são executados em todas as implementações 1.2), o teste do framework é necessário para garantir que, quando uma HAL compatível (1.0, 1.1 ou 1.2) é fornecida, o framework funcione corretamente com essa HAL.
Para detalhes sobre a linguagem de definição de interface HAL (HIDL), consulte HIDL, Controle de versões do HIDL, e Descontinuação da HAL HIDL.
Sobre upgrades de HAL
Há dois tipos de upgrades de HAL: principais e secundários. A maioria dos sistemas inclui apenas uma implementação de HAL, mas várias implementações são aceitas. Exemplo:
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 ...
A partição do sistema normalmente inclui um daemon de framework (como
teleportd) que gerencia a comunicação com um grupo específico de
implementações de HAL. Como alternativa, os sistemas podem incluir uma biblioteca do sistema (como android.hardware.configstore-utils) que implementa um comportamento de cliente conveniente. No exemplo acima, teleportd precisa funcionar, não
importa qual versão da HAL esteja instalada no dispositivo.