如何写精华回答,获更多曝光?
发布
OpenHarmony系统rk3568平台,下面几部分代码一直不知道怎么联系起来的:
1)在vendor/hihope/rk3568/hdf_config/uhdf/device_info.hcs配置文件中配置了camera_service对应的设备节点:
camera_device :: device {
device0 :: deviceNode {
policy = 2;
priority = 100;
moduleName = "libcamera_host_service_1.0.z.so";
serviceName = "camera_service";
}
}
按照HCS语法规则,moduleName应该是HDF驱动入口匹配用的,但是并未查到有模块名为"libcamera_host_service_1.0.z.so"的HDF驱动。而且这个名字看起来貌似跟库有关。
2)倒是在drivers/peripheral/camera/hal/hdi_impl/BUILD.gn中找到了libcamera_host_service_1.0.z.so动态库的编译规则:
ohos_shared_library("camera_host_service_1.0") {
output_extension = "z.so"
...
}
综上,根据猜测,用户程序通过
ICameraHost::Get("camera_service", false);
获取到的服务对象应该就是那个libcamera_host_service_1.0.z.so库吧?
那HCS中的moduleName是怎么跟库联系起来的呢?