Verificação de compatibilidade com versões anteriores do framework HIDL

HALs de HIDL garantem que o sistema principal do Android (também conhecido como system.img ou framework) seja compatível com versões anteriores. Enquanto os testes do Conjunto de teste de fornecedor (VTS, na sigla em inglês) garantem que as HALs funcionem conforme o esperado (por exemplo, os testes HAL 1.1 são executados em todas as implementações 1.2), o teste de framework é necessário para garantir que, quando uma HAL com suporte (1.0, 1.1 ou 1.2) for fornecida, o framework funcione corretamente com essa HAL.

Para mais detalhes sobre a linguagem de definição da interface HAL (HIDL), consulte HIDL, Controle de versões de HIDL e Descontinuação de HIDL HAL.

Sobre os upgrades do HAL

Há dois tipos de upgrades da HAL: principal e secundária. A maioria dos sistemas inclui apenas uma implementação do HAL, mas há suporte para várias implementações. 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 o comportamento conveniente do cliente. No exemplo acima, teleportd precisa funcionar independentemente da versão da HAL instalada no dispositivo.