从 2025 年 3 月 27 日起,我们建议使用 android-latest-release
而不是 aosp-main
来构建 AOSP 并为其做贡献。如需了解详情,请参阅AOSP 变更。
供应商接口对象
使用集合保持井井有条 根据您的偏好保存内容并进行分类。
本文档介绍了供应商接口对象 (VINTF 对象) 的设计,该对象汇总了关于设备的各种相关信息,并通过可查询的 API 提供这些信息。
VINTF 对象设计
VINTF 对象直接从设备收集它所需的一些信息。其他方面(例如清单)在 XML 中以静态方式描述。
图 1. 清单、兼容性矩阵和运行时可收集的信息。
VINTF 对象设计为设备和框架组件提供以下功能:
对于设备 |
对于框架 |
- 为静态组件(设备清单文件)定义架构。
- 添加构建时支持,以定义给定设备的设备清单文件。
- 在运行时定义可查询的 API,该 API 检索设备清单文件(以及其他运行时可收集的信息),并将它们打包到查询结果中。
|
|
VINTF 对象必须可靠,并且无论何时请求该对象,都必须提供相同的完整信息(请参阅注意事项)。
清单和矩阵
从 Android 8.0 开始,运行时 API 会查询设备上的内容,并将该信息发送到无线下载 (OTA) 更新服务器和其他相关方(例如 CTS DeviceInfo
)。某些信息在运行时检索,而另一些信息是静态定义的。
- 设备清单描述了设备可以为框架提供的静态组件。
- 框架兼容性矩阵描述了 Android 框架对给定设备的期望。该矩阵是一个静态实体,其构成在 Android 框架的下一个版本的开发期间手动确定。
- 框架清单描述了框架可以为设备提供的高级服务。
- 设备兼容性矩阵描述了供应商映像对框架所需的服务。其构成在设备开发期间手动确定。
这两对清单和矩阵必须在 OTA 时进行协调,以确保设备可以获得与设备功能兼容的框架更新。通常,清单描述了提供的内容,而兼容性矩阵描述了所需的内容。
本节包含有关清单和矩阵的以下详细信息:
- 清单定义了设备清单、框架清单和清单文件架构。
- 兼容性矩阵定义了兼容性矩阵的架构。
- FCM 生命周期详细介绍了 HIDL HAL 如何弃用和移除,以及如何修改 FCM 文件以反映 HAL 版本的状态。
- DM 开发 描述了供应商如何在新设备的设备清单中定义和声明目标 FCM 版本,或者在升级旧设备的供应商镜像时如何实现新的 HAL 版本并增加目标 FCM 版本。
- 匹配规则 定义了兼容性矩阵和清单之间成功匹配的规则。
此页面上的内容和代码示例受内容许可中所述许可的约束。Java 和 OpenJDK 是 Oracle 和/或其关联公司的商标或注册商标。
最近更新时间:2025-02-27 UTC。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的信息","missingTheInformationINeed","thumb-down"],["过于复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["已过时","outOfDate","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最近更新时间:2025-02-27 UTC。"],[],[]]