android8.0学习(1)---Android Treble 概述

1 Android Treble

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

2 关于 Android8.0 更新

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

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


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

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

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

3 对Android Treble 进行测试

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

4 Android 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 变更和自定义的详情。

5 Treble 架构

为了能够让Android O之前的版本升级到Android O,Android设计了Passthrough模式,经过转换,可以方便的使用已经存在代码,不需要重新编写相关的HAL。HIDL分为两种模式:Passthrough和Binderized。

Binderized: Google官方翻译成绑定试HAL。

Passthrough:Google官方翻译成直通式HAL。

大致框架图如下,对于Android O之前的设备,对应图1,对于从之前的设备升级到O的版本,对应图2、图3. 对于直接基于Android O开发的设备,对应图4。

新的架构之下,framework和hal运行于不同的进程,所有的HAL采用新的HIDL技术来完成。


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供关于"df -h"命令在Android 9.0上的输出。因为该命令用于查看文件系统的磁盘使用情况,而作为一个AI助手,我无法执行命令并提供实时的输出结果。但是,我可以告诉你一些关于Android 9.0的信息。 在Android 9.0中,进程管理方面相比Android 5.0有一些改变。Android 9.0引入了一种名为"Project Treble"的新架构,这使得系统和厂商定制的代码更加分离,使得系统更新更加容易和快速。这意味着在Android 9.0中,一些系统分区的内容可能被移动到了更加独立的分区,例如vendor.img分区,这是供厂商使用的一个分区,用于存储厂商定制的代码和驱动程序。 此外,Android 9.0还引入了更多的分区概念,例如动态分区(Dynamic Partitions)。动态分区允许系统根据需要动态调整分区大小,以便在不重新分区的情况下更新系统。这种分区方式可以提高系统更新的效率和速度[3]。 总之,Android 9.0在进程管理方面进行了一些改进,并引入了新的分区概念,以提高系统的灵活性和更新效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Android 9.0 & 5.0 进程对比](https://blog.csdn.net/weixin_37927853/article/details/108947979)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [android 9.0 中关于OTA 升级的注意事项](https://blog.csdn.net/wed110/article/details/85691521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值