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 chamado de 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), é 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 Descontinuação da HAL da HIDL.

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.