HAL接口定义语言(AIDL/HIDL)
Android 8重新设计了 Android 操作系统框架,其目的是,让制造商能够以更低的成本、更轻松、更快速地将设备更新到新版 Android系统。在此新系统中,HIDL 指定了 HAL 和其用户之间的接口,让用户无需重构 HAL,就能替换 Android 框架。
在 Android 10 中,HIDL 负责的功能被整合到 AIDL 中了,也就是说 HIDL 被废弃了,并且仅供尚未转换为 AIDL 的子系统使用。
这种新框架完成了 Android操作系统框架 与 供应商接口 的解耦。
- 旧版本的更新过程
需要修改很多东西(主要是更新了Android框架,还要去找对应的硬件供应商去修改对应的驱动部分),负责迭代升级的人员表情狰狞。
-
新版本的更新过程
把 Android framework 和 Vendor implementation 解耦,这样更新Android部分就不会影响到 驱动部分,简直完美!
- Android 8 以及更高的版本才可以采用此框架,为了确保供应商接口的向前兼容性,提供了VTS(供应商测试套件),他是类似于CTS(兼容性测试套件——针对上层API的)的,可以借助二者实现 HAL 和 Kernel 的自动化测试。