Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Объект интерфейса поставщика

В этом документе описывается проект объекта интерфейса поставщика ( объект VINTF), который собирает соответствующую информацию об устройстве и делает эту информацию доступной через запрашиваемый API .

VINTF объектный дизайн

Объект VINTF собирает часть необходимой ему информации непосредственно с устройства. Другие аспекты, такие как манифесты, статически описаны в XML.

Рисунок 1. Манифесты, матрицы совместимости и собираемая во время выполнения информация

Объектный дизайн VINTF обеспечивает следующее для компонентов устройства и каркаса:

Для устройства Для рамок
  • Определяет схему для статического компонента ( файл манифеста устройства ).
  • Добавлена ​​поддержка времени сборки для определения файла манифеста устройства для данного устройства.
  • Определяет запрашиваемый API во время выполнения, который извлекает файл манифеста устройства (вместе с другой собираемой во время выполнения информацией) и упаковывает их в результат запроса.
  • Определяет схему для статического компонента ( файл манифеста платформы ).
  • Определяет запрашиваемый API во время выполнения, который извлекает файл манифеста платформы и упаковывает его в результат запроса.

Объект VINTF должен быть надежным и предоставлять одинаковую полную информацию независимо от того, когда запрашивается объект (см. Предостережения ).

Манифесты и матрицы

Начиная с Android 8.0, API-интерфейс времени выполнения запрашивает информацию о том, что находится на устройстве, и отправляет эту информацию на DeviceInfo сервер обновлений (OTA) и другие заинтересованные стороны (например, CTS DeviceInfo ). Некоторая информация извлекается во время выполнения, а часть статически определяется.

  • Манифест устройства описывает статический компонент того, что устройство может предоставить платформе.
  • Матрица совместимости фреймворка описывает, что фреймворк Android ожидает от данного устройства. Матрица представляет собой статический объект, состав которого определяется вручную во время разработки следующего выпуска платформы Android.
  • Манифест фреймворка описывает сервисы высокого уровня, которые фреймворк может предоставить устройству.
  • Матрица совместимости устройств описывает сервисы, которые требует образ поставщика для платформы. Его состав определяется вручную при разработке устройства.

Эти две пары манифестов и матриц должны быть согласованы во время OTA, чтобы гарантировать, что устройство может получать обновления инфраструктуры, которые совместимы с возможностями устройства. В общем, манифест описывает, что предоставляется, а матрица совместимости описывает, что требуется.

Этот раздел содержит следующие сведения о манифестах и ​​матрицах:

  • Manifests определяет манифест устройства, манифест платформы и схему файла манифеста.
  • Матрицы совместимости определяет схему для матрицы совместимости.
  • Жизненный цикл FCM подробно описывает, как HIDL HAL устарели и удаляются, и как файлы FCM модифицируются для отображения статуса версии HAL.
  • DM Development описывает, как поставщики могут определять и объявлять версию Target FCM в манифесте устройства для новых устройств или внедрять новые версии HAL, а также увеличивать версию Target FCM при обновлении образа поставщика для старых устройств.
  • Правила соответствия определяют правила для успешного соответствия между матрицей совместимости и манифестом.