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

Os 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. Embora os testes do Vendor Test Suite (VTS) garantam que as HALs funcionem como esperado (por exemplo, os testes da HAL 1.1 são executados em todas as implementações 1.2), é necessário fazer testes de framework 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 da HIDL e Suspensão de uso da HIDL HAL.

Sobre upgrades da HAL

Há dois tipos de upgrades de HAL: principal e secundário. 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 conveniente do cliente. No exemplo acima, teleportd precisa funcionar, não importa qual versão da HAL esteja instalada no dispositivo.