В этом документе описывается конструкция объекта интерфейса поставщика (объект VINTF), который объединяет соответствующую информацию об устройстве и делает эту информацию доступной через запрашиваемый API .
ВИНТФ объектный дизайн
Объект VINTF собирает часть необходимой ему информации непосредственно с устройства. Другие аспекты, такие как манифесты, описываются статически в XML.
Рисунок 1. Манифесты, матрицы совместимости и информация, собираемая во время выполнения.
Проектирование объектов VINTF обеспечивает следующее для компонентов устройства и платформы:
Для устройства | Для структуры |
---|---|
|
|
Объект VINTF должен быть надежным и предоставлять одну и ту же полную информацию независимо от того, когда объект запрашивается (см. Предостережения ).
Манифесты и матрицы
Начиная с Android 8.0, API среды выполнения запрашивает информацию о том, что находится на устройстве, и отправляет эту информацию на сервер обновлений по беспроводной сети (OTA) и другим заинтересованным сторонам (например, CTS DeviceInfo
). Некоторая информация извлекается во время выполнения, а часть определяется статически.
- Манифест устройства описывает статический компонент того, что устройство может предоставить платформе.
- Матрица совместимости платформы описывает, что платформа Android ожидает от данного устройства. Матрица — это статическая сущность, состав которой определяется вручную при разработке следующей версии платформы Android.
- Манифест платформы описывает высокоуровневые сервисы, которые платформа может предоставить устройству.
- Матрица совместимости устройств описывает услуги, которые имидж поставщика требует от платформы. Его состав определяется вручную при разработке устройства.
Эти две пары манифестов и матриц должны быть согласованы во время OTA, чтобы гарантировать, что устройство может получать обновления платформы, совместимые с возможностями устройства. В общем, манифест описывает то, что предоставляется, а матрица совместимости описывает то, что требуется.
В этом разделе содержатся следующие сведения о манифестах и матрицах:
- Манифесты определяют манифест устройства, манифест платформы и схему файла манифеста.
- Матрицы совместимости определяют схему матрицы совместимости.
- В жизненном цикле FCM подробно описано, как HIDL HAL устаревают и удаляются, а также как файлы FCM изменяются с учетом статуса версии HAL.
- DM Development описывает, как поставщики могут определять и объявлять целевую версию FCM в манифесте устройства для новых устройств или внедрять новые версии HAL и увеличивать целевую версию FCM при обновлении образа поставщика для старых устройств.
- Правила сопоставления определяют правила успешного сопоставления между матрицей совместимости и манифестом.