Treble

为什么要提出Treble计划

Google一直被Android版本的碎片化困扰,Google希望OEM厂商能快速升级最新的Android版本,推出了Project Treble,最大的变化之一是HAL binderized化。实现了让vendor库与系统库解耦合。

如Android P升级到Android Q,可以是
System升级到Q + Vendor P 构成Android的新版本
驱动依然是这个驱动,当然如果需要性能、稳定性优化,会做一些更新,驱动(包含firmware)并不会因为Android版本的升级而产生大的变化,因为硬件并没有变化。

构架

system部分:framework + app
vendor部分:hal + kernel
参考链接

### Android Treble 架构中的 AIDL 和 HAL 接口解释 #### HIDL 的作用及其编译过程 在 Android 中,硬件抽象层 (HAL) 是连接操作系统内核与设备驱动程序的关键组件。为了提高模块化程度并简化更新流程,在 Android O 中引入了 Project Treble 及其核心组成部分——HIDL(Hardware Interface Definition Language)。通过 `hidl-gen` 编译器可以自动生成基于 HIDL 文件的接口实现[^1]。 对于继承特定版本传感器服务的情况,可以通过如下方式包含必要的头文件: ```cpp #include <android/hardware/sensors/2.1/ISensors.h> ``` 这使得开发者能够轻松访问标准化的服务接口定义,并确保不同供应商提供的 HAL 实现遵循统一的标准。 #### AIDL 位置及用途说明 AIDL(Android Interface Definition Language)用于定义进程间通信 (IPC) 接口中所涉及的数据结构和服务方法签名。在 Android 源码树中,AIDL 工具位于多个目录下: - 开发工具路径:`system/tools/aidl`, `system/tools/hidl` - 完整构建后的可执行文件路径:`out/host/linux-x86/bin/aidl` - 编译生成的目标代码存储于:`out/soong/.intermediates` 这些路径反映了 AIDL 命令行工具的位置以及它如何参与整个项目的构建过程中[^3]。 #### Treble 对 HAL 更新的影响 Project Treble 设计的一个重要目标就是减少系统框架和底层硬件接口之间的紧密联系。这意味着当新的 Android 版本发布时,OEM 不再需要重新编译或修改 HAL 层就能完成大部分软件层面的功能迭代工作。这种解耦合的设计极大地降低了维护成本和技术门槛[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值