Mur*_*kov 2 java-native-interface android android-ndk android-studio opencv3.1
我有一个使用OpenCV 3.1. 我将lib_opencv_java.so文件复制到jniLibs文件夹中。现在我想将一个新的 sdk 集成到我的应用程序中,但是这个 SDK 也使用了不同版本的 OpenCV。SDK OpenCV 库随 Gradle 添加,未复制到jni文件夹。当我构建应用程序时,它在编译时出现错误:
发现多个文件与操作系统独立路径“lib/arm64-v8a/libopencv_java3.so”
为了解决这个问题,我重命名了我的 OpenCV 并.so用不同的名称重新生成了文件。之后,它没有给出上述问题,但是当我尝试打开使用 OpenCV 的活动时。应用程序因以下错误而崩溃:
java.lang.UnsatisfiedLinkError: dlopen failed: 找不到符号“_ZN2cv7imwriteERKNS_6StringERKNS_11_InputArrayERKNS_11_InputArrayERKSt6vectorIiSaIiEE”引用的“/data/app/io.xxxxxx-gilxH9B4dAHGtuXtU4Sl64==/lib.sorm6”
要正确摆脱以下错误:
发现多个文件与操作系统独立路径“lib/arm64-v8a/libopencv_java3.so”
你应该在你的里面使用下面的代码 app/build.gradle
android{
...
packagingOptions {
pickFirst 'lib/x86_64/libopencv_java3.so'
pickFirst 'lib/x86/libopencv_java3.so'
pickFirst 'lib/arm64-v8a/libopencv_java3.so'
pickFirst 'lib/armeabi-v7a/libopencv_java3.so'
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1606 次 |
| 最近记录: |