该错误意味着该文件libuvcNative.so尚未与您的 APK 一起安装。发生这种情况的根本原因多种多样。
你的情况完全一样此处描述. The 奇函OpenSDK_1.1.8.0.aar只有一个armeabi的版本libuvcNative.so。修复方法是更改第 15 行构建.gradle to read
abiFilters 'armeabi'
但我必须承认你的CMakeLists.txt我很困惑。为我,
set_target_properties(lib_qihan PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR} /libs/QihanOpenSDK_1.1.8.0.aar)
不起作用。要想真诚,
set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR} /libs/${ANDROID_ABI}/libopencv_java3.so)
也不符合我的书。对于后者,我相信您只是在复制/粘贴脚本时添加了一个空格。
对于前者,我知道一个特殊的trick拥有一个so从导入的文件aar在本机构建中使用。
我相信你的working版本不仅丢弃了所有 OpenCV 库,而且也不构建libnative-lib.so。这边走,cmake从不寻找libuvcNative.so,但这个本机库仍然与 APK 一起部署,因为aar is a compiled您的应用程序的依赖性。我猜想其中一些旗函OpenSDK类显式调用
System.loadLibrary("uvcNative")
If your libnative-lib.so不使用外部符号libuvcNative.so,你不需要我上面提到的技巧,也不需要提及旗函OpenSDK完全在你的CMakeLists.txt.