Objeto de interface do fornecedor

Este documento descreve o design do objeto de interface do fornecedor (objeto VINTF), que agrega informações relevantes sobre um dispositivo e disponibiliza essas informações por meio de uma API consultável .

Design de objeto VINTF

Um objeto VINTF reúne algumas das informações necessárias diretamente do dispositivo. Outros aspectos, como os manifestos, são descritos estaticamente em XML.

Figura 1. Manifestos, matrizes de compatibilidade e informações colecionáveis ​​em tempo de execução

O design de objeto VINTF fornece o seguinte para componentes de dispositivo e estrutura:

Para o dispositivo Para a estrutura
  • Define um esquema para o componente estático (o arquivo de manifesto do dispositivo ).
  • Adiciona suporte de tempo de compilação para definir o arquivo de manifesto do dispositivo para um determinado dispositivo.
  • Define a API consultável em tempo de execução que recupera o arquivo de manifesto do dispositivo (juntamente com outras informações colecionáveis ​​em tempo de execução) e os empacota no resultado da consulta.

O objeto VINTF deve ser confiável e fornecer as mesmas informações completas, independentemente de quando o objeto é solicitado (ver Advertências ).

Manifestos e matrizes

A partir do Android 8.0, uma API de tempo de execução consulta o que está no dispositivo e envia essas informações para o servidor de atualização Over-the-Air (OTA) e outras partes interessadas (como CTS DeviceInfo ). Algumas informações são recuperadas em tempo de execução e outras são definidas estaticamente.

  • O manifesto do dispositivo descreve o componente estático do que o dispositivo pode fornecer à estrutura.
  • A matriz de compatibilidade da estrutura descreve o que a estrutura Android espera de um determinado dispositivo. A matriz é uma entidade estática cuja composição é determinada manualmente durante o desenvolvimento da próxima versão do framework Android.
  • O manifesto da estrutura descreve serviços de alto nível que a estrutura pode fornecer ao dispositivo.
  • A matriz de compatibilidade de dispositivos descreve os serviços que a imagem do fornecedor exige da estrutura. Sua composição é determinada manualmente durante o desenvolvimento do dispositivo.

Esses dois pares de manifestos e matrizes devem ser reconciliados no momento do OTA para garantir que um dispositivo possa obter atualizações de estrutura compatíveis com os recursos do dispositivo. Em geral, um manifesto descreve o que é fornecido e uma matriz de compatibilidade descreve o que é necessário.

Esta seção inclui os seguintes detalhes sobre manifestos e matrizes:

  • Os manifestos definem o manifesto do dispositivo, o manifesto da estrutura e o esquema do arquivo de manifesto.
  • Matrizes de compatibilidade definem o esquema da matriz de compatibilidade.
  • O ciclo de vida do FCM detalha como os HALs HIDL são obsoletos e removidos e como os arquivos FCM são modificados para refletir o status da versão do HAL.
  • DM Development descreve como os fornecedores podem definir e declarar a versão alvo do FCM no manifesto do dispositivo para novos dispositivos ou implementar novas versões HAL e incrementar a versão alvo do FCM ao atualizar a imagem do fornecedor para dispositivos antigos.
  • As Regras de Correspondência definem as regras para uma correspondência bem-sucedida entre uma matriz de compatibilidade e um manifesto.