该报错应该是没有正确链接上so导致的:1、首先需要在终端中输入 readelf -d entry/libs/arm64-v8a/libxxx.so来查找soname,确认下动态库的soname,将entry/libs/${OHOS\_ARCH}下的so改名为这个soname2、Cmakelist中使用三方库中的路径,使用如下的方式链接so:target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/xxx/${OHOS_ARCH}/lib/libxxx.so)而不是选择${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libxxx.so)的路径,这样链会导致名字和带版本号的so不统一3、请确保entry/libs在不同框架(如arm64\_v8a、x86\_64)下的so与src/main/cpp/thirdparty/xxx下对应框架下的so文件大小一致(非软链接)且文件名无误具体可以参考链接:https://gitee.com/openharmony-sig/tpc\_c\_cplusplus/blob/master/lycium/doc/app\_calls\_third\_lib.md
该报错应该是没有正确链接上so导致的:
1、首先需要在终端中输入 readelf -d entry/libs/arm64-v8a/libxxx.so来查找soname,确认下动态库的soname,将entry/libs/${OHOS\_ARCH}下的so改名为这个soname
2、Cmakelist中使用三方库中的路径,使用如下的方式链接so:
而不是选择
的路径,这样链会导致名字和带版本号的so不统一
3、请确保entry/libs在不同框架(如arm64\_v8a、x86\_64)下的so与src/main/cpp/thirdparty/xxx下对应框架下的so文件大小一致(非软链接)且文件名无误
具体可以参考链接:
https://gitee.com/openharmony-sig/tpc\_c\_cplusplus/blob/master/lycium/doc/app\_calls\_third\_lib.md