Эта страница переведена с помощью Cloud Translation API.
Switch to English

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

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

ВИНТФ объектный дизайн

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

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

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

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

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

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

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

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

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

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

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