错误:/bin/linkplay_ota: error while loading shared libraries: libjson-c.so.4: cannot open shared object file: No such file or directory
好几个项目公用一套代码,但每个项目会有差别。其他工程师在改项目代码时在自己单独的宏定义xxx.mk 文件中加入了一些库文件:
PRODUCT_COPY_FILES += vendor/linkplay/common/json-c/a98/lib/libjson-c.so.3:system/lib/libjson-c.so.3
PRODUCT_COPY_FILES += vendor/linkplay/common/json-c/a98/lib/libjson-c.so.4:system/lib/libjson-c.so.4
PRODUCT_COPY_FILES += vendor/linkplay/common/json-c/a98/lib/libjson-c.so.4.0.0:system/lib/libjson-c.so.4.0.0
PRODUCT_COPY_FILES += vendor/linkplay/common/jsoncpp/a98/lib/libjsoncpp.so.1.9.4:system/lib/libjsoncpp.so.1.9.4
PRODUCT_COPY_FILES += vendor/linkplay/common/jsoncpp/a98/lib/libjsoncpp.so.24:system/lib/libjsoncpp.so.24
公用的代码中添加的新代码又要用到库文件,自己项目的xxx.mk文件中并没有包含这些库文件,导致我在后续的版本使用上会出现一些问题(我的问题是设备使用配不上网),在编译时可能没有问题,但是把版本编译烧录到设备上使用就会出现问题,通过log,我发现我的ota_service进程挂掉了,并且在不断初始化重启,一直循环。当我尝试手动去启动该进程时,就会提示我上述该错误。
解决办法:
找到自己的项目的xxx.mk文件 加入上述库文件即可解决。