Treble

Android 8.0 版本的一项新元素是 Project Treble。这是 Android 操作系统框架在架构方面的一项重大改变,旨在让制造商以更低的成本更轻松、更快速地将设备更新到新版 Android 系统。Project Treble 适用于搭载 Android 8.0 及后续版本的所有新设备(这种新的架构已经在 Pixel 手机的开发者预览版中投入使用)。

关于 Android 更新

利用新的供应商接口,Project Treble 将供应商实现(由芯片制造商编写的设备专属底层软件)与 Android 操作系统框架分离开来。

Android 7.x 及更早版本中没有正式的供应商接口,因此设备制造商必须更新大量 Android 代码才能将设备更新到新版 Android 系统:

图 1. Treble 推出前的 Android 更新环境

Treble 提供了一个稳定的新供应商接口,供设备制造商访问 Android 代码中特定于硬件的部分,这样一来,设备制造商只需更新 Android 操作系统框架,即可跳过芯片制造商直接提供新的 Android 版本:

图 2. Treble 推出后的 Android 更新环境

对 Treble 进行测试

为了确保供应商实现的前向兼容性,新的供应商接口会由供应商测试套件 (VTS) 进行验证,该套件类似于兼容性测试套件 (CTS)。您可以使用 VTS 在推出 Treble 前的环境和 Treble 环境中自动执行 HAL 和操作系统内核测试。

Treble 资源

要详细了解新的 Treble 架构,请参阅以下部分:

  • HAL 类型:提供了关于绑定式 HAL、直通 HAL、Same-Process (SP) HAL 和旧版 HAL 的说明。
  • HIDL(一般信息):包含关于 HAL 接口定义语言(简称 HIDL,发音为“hide-l”)的一般信息;HIDL 是用于指定 HAL 和其用户之间接口的接口描述语言 (IDL)。
  • HIDL (C++):包含关于为 HIDL 接口创建 C++ 实现的详情。
  • HIDL (Java):包含关于 HIDL 接口的 Java 前端的详情。
  • ConfigStore HAL:提供了关于 ConfigStore HAL 的说明;该 HAL 提供了一组 API,可供访问用于配置 Android 框架的只读配置项。
  • 设备树叠加层:提供了关于在 Android 中使用设备树叠加层 (DTO) 的详情。
  • 供应商原生开发套件 (VNDK):提供了关于 VNDK(专门用来让供应商实现其 HAL 的一组库)的说明。
  • 供应商接口对象 (VINTF):VINTF 对象整合了关于设备的相关信息,并让这类信息可通过可查询 API 提供。
  • SELinux for Android 8.0:提供了关于 SELinux 变更和自定义的详情。

Android 8.0 学习(3)---Android Treble相关推荐

  1. Android 8.0学习 (36)---Android 8.0 WebView 拍照、简易预览、二维码扫描 各种问题解决

    Android 8.0 WebView 拍照.简易预览.二维码扫描 各种问题解决 项目用到了WebView包装HTML5做成app使用,其中有页面用到了二维码和拍照上传功能.本人从未做过android ...

  2. Android 8.0学习 (2)---Android HAL

    硬件抽象层 (HAL) HAL 可定义一个标准接口以供硬件供应商实现,这可让 Android 忽略较低级别的驱动程序实现.借助 HAL,您可以顺利实现相关功能,而不会影响或更改更高级别的系统.HAL ...

  3. Android 8.0学习(5)---模块化内核

    模块化内核要求 在 Android 8.0 中,设备内核分为系统芯片 (SoC).设备和板专属组件.基于这种分层结构的内核和 Android 使得原始设计制造商 (ODM) 和原始设备制造商 (OEM ...

  4. android AVB2.0学习总结

    看了一阵子android AVB2.0相关的内容,准备梳理一下相关知识点.平时一般都用word整理,现在想想感觉还是用CSDN来整理看着直观些,方便自己查看的同时,也把自己学到的知识与其他人分享,共勉 ...

  5. Android 8.0学习(25)---系统的应用图标适配

    Android 8.0系统的应用图标适配 现在已经进入了2018年,Android 8.0系统也逐渐开始普及起来了.三星今年推出的最新旗舰机Galaxy S9已经搭载了Android 8.0系统,紧接 ...

  6. Android 8.0 学习(21)---Oreo的画中画模式学习

    Android 8.0 Oreo的画中画模式学习 本文主要是对谷歌开发者官方微信公众号发布的Android 8.0 Oreo 画中画模式一文的学习记录.  画中画模式Picture-in-pictur ...

  7. Android 8.0 学习(23)---recovery 流程分析

    Android 8.0 recovery 流程分析 这里主要分析non A/B模式下的recovery流程  A/B模式下的recovery在boot中  后续会不断补充,如果有疏漏或者错误的地方,请 ...

  8. Android 8.0 学习(3)---Android 8.0系统的应用图标适配

    其实在去年Android 8.0系统刚推出的时候,我就仔细翻阅过Google官方的功能变更文档.变更项着实不少,但是真正需要我们去进行功能适配的地方却并不多.总结了一下,最主要需要进行适配的地方有两处 ...

  9. Android 8.0学习(32)---Android 8.0源码目录结构详解

    Android 8.0源码目录结构详解 android的移植按如下流程:     (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来.     (2)正确挂载文件系统 ...

最新文章

  1. 华中科技大学通报:取消张某某研究生导师资格,调离教师岗位,停止其教师资格...
  2. Android上下左右滑动,显示底层布局
  3. poi方式写入数据到Excel
  4. 北京曲剧《烟壶》也好看
  5. JEECG领取免费开发文档活动
  6. 柯达新款Wi-Fi数码相机闪亮登场
  7. BZOJ5343[Ctsc2018]混合果汁——主席树+二分答案
  8. asp.net支持多文件上传的服务器控件
  9. 经典神经网络 -- RetinaNet的Focal_Loss : 设计原理与pytorch实现
  10. 销售竞争情报实战--徐凌云老师
  11. 学习方法:坚持输出学习法
  12. 前端无法识别<br/>,无法进行换行
  13. 【愚公系列】2022年09月 微信小程序-WebGL立体图形的绘制
  14. 第一讲:双活容灾技术和方案概述
  15. 测试参持之以恒兵勋章活动
  16. IOS目标检测(翻译)
  17. tkMapper插件的详细讲解
  18. 华为OJ平台题目:(练习用)挑7
  19. 实战项目:餐厅订单数据分析:订单维度和时间维度
  20. office尾注后继续插入正文

热门文章

  1. QT5开发及实例学习之九基本对话框(二)
  2. java 文件url地址_简单的解析文件,取URL地址,并根据地址抓下页面
  3. mysql 自动备份发送,Centos定时自动备份MySQL数据库并发送至指定邮箱
  4. java复习系列[4] - Java IO
  5. 生产者消费者问题 操作系统
  6. hdu-4080 Stammering Aliens 字符串hash 模板题
  7. 深入剖析cpp对象模型
  8. 使用Spring的Validator接口进行校验
  9. mysql function DATE_FORMA T(date, format)
  10. 设计模式之—访问者模式VisitorPattern