HIDL的硬件全称是HAL interface definition language(硬件抽象层接口定义语言),是通讯AndroidFramework 与Android HAL之间的接口。HIDL 旨在用于进程间通信 (IPC),硬件进程之间的通讯通信采用 Binder 机制;
Android O(8.0) 版本之后,底层实现有了比较大的硬件变化,最显著的通讯一个方面就是 HIDL 机制的全面实施。今天我们介绍下。硬件
Android O(8.0) 之前系统的升级牵扯多方协作,极为麻烦,通讯HIDL机制的硬件推出就是将 framework 与 hal 层分开,使得框架部分可以直接被覆盖、更新,而不需要重新对 HAL 进行编译,这样在系统升级时,OEM 厂商 跳过 SoC 厂商,先对 framework 进行升级。
framework 与 hal 紧紧耦合存在于 system.img 中,因此在版本升级时需要: OEM 厂商适配 framework ,SoC厂商 适配 hal, 之后将修改打包到 system.img,生成 OTA 升级包,推送到手机进行 OTA 升级
framework 与 hal 进行了解耦, framework 存在于 system.img,hal 存在于vendor.img,进行版本升级时,分为两次升级:
旧版的系统架构中, Android Framework 层与 Hal 层是打包成一个 system.img 的,且 Framework 与 hal 层之间是紧密耦合的,通过链接的方式使用相应的硬件 so 库。它们之间的架构一般有如下两种方式:
为了解决两者之间这种紧耦合所带来的弊端,google 引入 HIDL 来定义 Framework 与 HAL 之间的接口,可以用下图来描述:
事实上虽然 google 推出了这种机制,但是很多厂商没有很快的跟上节奏,因此为了向前兼容, google 定义了三种类型:
上述可总结为:
(责任编辑:热点)
上海市国有企业减免小微企业和个体工商户房租政策发布 加强内部管控
棠记控股(08305.HK)预计年度亏损不少于50万港元 毛利严重下降