IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> VINTF供应商接口对象 -> 正文阅读

[移动开发]VINTF供应商接口对象

VINTF对象设计为设备和框架组件提供以下内容:

?

从Android 8.0开始,运行时API会查询设备上的内容并将该信息发送到无线下载 (OTA) 更新服务器以及其他相关方(例如 CTS DeviceInfo)。有些信息会在运行时进行检索,而有些信息则是静态定义的信息。

  • 设备清单描述了设备可以为框架提供的静态组件。
  • 框架兼容性矩阵描述了 Android 框架期待从给定设备中获取的内容。此矩阵是一个静态实体,在开发下一个版本的 Android 框架期间会手动确定此矩阵的组成。
  • 框架清单描述了框架可以为设备提供的高级服务。
  • 设备兼容性矩阵描述了供应商映像需要框架提供的服务,在设备开发期间会手动确定此矩阵的组成。

这两对清单和矩阵必须在OTA时进行协调,以确保可以获取功能兼容的更新。一般来说,清单描述了提供的内容,兼容性矩阵描述了需要的内容。

清单

VINTF对象会在运行时汇总设备清单和框架清单文件(XML)中的数据以及设备本身的数据。这两个清单采用同一种格式,不过并非所有元素都适用于两者。

设备清单(由设备提供)包含供应商清单和ODM清单:供应商清单会指定SoC通用的HAL、VNDK版本等信息,如:/vendor/etc/vintf/manifest.xml。ODM清单列出了产品专用的HAL,如:/odm/etc/vintf/manifest.xml。

VINTF对象会按以下顺序加载设备清单:

1、? 如果存在供应商清单,合并:vendor/odm/fragment

2、? 如果存在odm清单,合并:ODM 清单与可选的 ODM 清单

3、? /vendor/manifest.xml

此设置可让采用相同开发板的多个产品共用同一个供应商映像(用于提供通用 HAL),但具有不同的 ODM 映像(用于指定产品专用的 HAL)。

框架清单:

框架清单文件(由Google提供)是手动生成的,位于/system/libhidl/manifest.xml 中。

清单 Fragment:

在Android 10及更高版本中,还可以在构建系统中将清单条目与HAL模块相关联,这有助于在构建系统中有条件地包含HAL模块。

例如,可以在Android.bp或Android.mk文件中,将vintf_fragments添加到任意模块,为此模块添加清单。

vintf_fragments: ["manifest_foo.xml"],

框架兼容性矩阵:

框架兼容性矩阵说明了框架对运行它的设备的要求。矩阵文件与Android框架映像(位于 system.img中)相关联。FCM的要求应通过设备清单来满足(在启动和 OTA 时会强制执行相应要求)。

设备兼容性矩阵:

设备兼容性矩阵说明了设备期望框架满足的一组要求(在启动和 OTA 时会强制执行相应要求)。

匹配规则:

两对兼容性矩阵和清单旨在 OTA 更新时进行协调,以验证框架和供应商实现是否可以相互协同工作。当框架兼容性矩阵与设备清单之间以及框架清单与设备兼容性矩阵之间匹配时,便成功通过此验证。

框架兼容性矩阵版本匹配

如需使设备清单与框架兼容性矩阵相匹配,manifest.target-level 指定的 Shipping FCM 版本必须与 compatibility-matrix.level 指定的 FCM 版本完全相同。否则,这二者将不匹配。

HAL匹配

多个<hal>元素具有 AND 关系。

同一个<hal>中的多个<version>元素具有OR关系。如果指定了两个或两个以上版本,则只需要实现其中一个版本。

同一个<hal>中的多个<instance>和<regex-instance>元素具有AND关系。

?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-07-22 23:02:17  更:2021-07-22 23:02:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/2 18:49:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码