我想知道为什么需要 HAL?我是android内部的新手。
以下是我的理解。
步骤1:
Android 服务通过 JNI 与 .cpp 文件进行交互。服务为应用层公开了 Binder 接口。
第2步:
cpp 文件使用 libhardware [ hw_get_module() ] 加载 HAL 模块。[即:dlopen]。
第 3 步:[HAL 模块]
HAL Module 直接与硬件驱动交互。
注意:如果我错了,请纠正我?
我可以理解流程。但为什么两者之间需要 HAL 模块?
除了动态加载 HAL 之外,还有什么其他优势?