Android Camera(二) Provider启动流程 (androidP)(HIDL)

本文详细解析了Android CameraProvider服务的启动流程,包括通过HIDL交互注册服务的过程、动态库加载及CameraProvider对象的初始化等关键步骤。

本篇文章是继续上一篇分析的Android Camera(一) Provider启动流程 (androidP)(HIDL)_we1less的博客-优快云博客


总结一下:所以在这个流程中

这个路径下的  hardware/interfaces/camera/provider/2.4/default/service.cpp

CameraProviderServicereturn defaultPassthroughServiceImplementation就是以直通式向ServiceManager中注册一个服务,这个服务是由

/vendor/lib/hw/android.hardware.camera.provider@2.4-impl.so

这个动态库的HIDL_FETCH_ICameraProvider()函数提供的new CameraProvider()

这个CameraProviderinitialize()函数中以同样的方式load进一个动态库,这个动态库的路径为

/vendor/lib/hw/camera.xxxx.so,同时保存在new CameraModule(rawModule);中这样就能利用这个指针访问so中的方法了。


sp<IBase> base = pm->get(descriptor, instance).withDefault(nullptr);

路径  system/libhidl/transport/ServiceManagement.cpp

上一篇说到get函数同时上一篇文章中也总结了

        fullPath = /vendor/lib/hw/android.hardware.camera.provider@2.4-impl.so

        lib = android.hardware.camera.provider@2.4-impl.so

        sym = HIDL_FETCH_ICameraProvider

        handle = dlopen(fullPath.c_str(), dlMode);

        关于dlopendlsym函数已经在这里介绍dlopen / dlsym函数(动态链接库)_we1less的博客-优快云博客

<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值