Gralloc0Allocator 负责open gralloc设备。
gralloc 如何加载?
通过HAL模块机制加载 GRALLOC_HARDWARE_MODULE_ID 设备。
HAL模块如何加载?
通过 hardware/libhardware/hardware.c hw_get_module_by_class 发现对应的SO文件,加载so实现对应设备驱动的调用等。
HAL 在Android 8.0后有两种方式实现:一种直通式调用,直接使用dlopen打开,不做进程分类。另外一种为绑定式调用,绑定式调用采用IPC调用方式。由hwbinder作为进程调用的通道。关于HAL可以详细参考 https://blog.csdn.net/xiaosayidao/article/details/75577940
网友评论