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

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 detalhes sobre a linguagem de definição de interface HAL (HIDL), consulte HIDL, controle de versões do HIDL e Suspensão de uso do HAL do HIDL.

Sobre os upgrades do HAL

Há dois tipos de upgrades do HAL: major e minor. 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 do HAL instalada no dispositivo.