RK平台的sensor框架HAL层兼容其他HAL层so库

原文链接:https://blog.csdn.net/qq_41779533/article/details/120839515
 

一、首先确定各自sensor框架调试正常,各自平台均可正常显示数据
二、合并编译多个HAL层so库
1.打开/device/rockchip/rkxxxx/BoardConfig.mk
将USE_SENSOR_MULTI_HAL宏打开,USE_SENSOR_MULTI_HAL := true,没有的话在末尾添加就行。


2.编写hals.conf,添加要编译的两个库名字,源码目录放在/device/rockchip/rkxx/,目的是将其从该目录拷贝到/system/stc/sensors/,hal.conf文件内容如下,这步要全部列过来lib和lib64都要。

/vendor/lib/hw/lib***1.so
/vendor/lib64/hw/lib***1.so
/vendor/lib/hw/lib***2.so
/vendor/lib64/hw/lib***2.so

3.修改/hardware/libhardware/modules/sensors/Android.mk中编译模块的名称,这是最终的合并so的名称lib***3.so,若库名不对,会导致sensor HAL层服务起不来。

LOCAL_MODULE := sensors.$(TARGET_BOARD_HARDWARE)

4.在/device/rockchip/rkxx/device.mk中添加需编译和拷贝的文件。

PRODUCT_PACKAGES += \
        lib***1 \
        lib***2
PRODUCT_COPY_FILES += \
         $(LOCAL_PATH)/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf

5.最后编译会将3个so库文件放在/vendor/lib/hw/下面,hals.conf会拷贝到/vendor/etc/sensors/下面,此时如果使用哪个sensor,lib***3.so就会去自动调用lib***1.so或lib***2.so。

测试效果:两个hal都被调用了

转载文章,以做笔记,致敬原作者(qq_41779533)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值