Android Camera--hw_get_module获取camx模块接口

我们知道,google为了保护硬件厂商的信息,在Android中添加了一层,也就是大名鼎鼎的HAL

层。

在看HAL的编写方法的过程中,会发现整个模块貌似没有一个入口。一般说来模块都要有个入口,

比如应用程序有main函数,可以为加载器进行加载执行,dll文件有dllmain,而对于我们自己写的

动态链接库,我们可以对库中导出的任何符号进行调用。

问题来了,Android中的HAL是比较具有通用性的,需要上层的函数对其进行加载调用,Android的

HAL加载器是如何实现对不同的Hardware Module进行通用性的调用的呢?

带着这个疑问查看Android源码,会发现Android中实现调用HAL是通过hw_get_module实现的。

1.Camera 服务启动流程概览

cameraserver 与 provider 这两个进程启动、初始化的调用逻辑,如下图

Android Camera--hw_get_module获取camx模块接口_第1张图片

总体逻辑顺序:
 
provider 进程启动,注册;

camera

你可能感兴趣的:(Android,android)