首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法使用相同库的两个不同版本,所以在android中的文件

有没有办法使用相同库的两个不同版本,所以在android中的文件
EN

Stack Overflow用户
提问于 2019-01-31 02:33:21
回答 1查看 2.8K关注 0票数 4

我有一个使用OpenCV 3.1的应用程序。我将lib_opencv_java.so文件复制到jniLibs文件夹中。现在,我想将一个新的sdk集成到我的应用程序中,但是这个SDK也使用了不同版本的OpenCV。SDK随OpenCV一起添加,而不是复制到jni文件夹。当我构建应用程序时,它在编译时间上出现了错误:

找到了多个与OS无关的路径lib/arm64-v8a/libopencv_java3.so文件。

为了解决这个问题,我重新命名了我的OpenCV并用不同的名称重新生成了.so文件。在此之后,它没有给出上述问题,但是当我尝试打开使用OpenCV的活动时。应用程序崩溃时出现了以下错误:

“_ZN2cv7imwriteERKNS_6StringERKNS_11_InputArrayERKSt6vectorIiSaIiEE”:dlopen失败:无法找到“/data/app/io.xxxxxx-gilxH9B4dAHGtuXtU4Sl6Q==/lib/arm64/libProcess.so”.引用的符号java.lang.UnsatisfiedLinkError

EN

Stack Overflow用户

发布于 2019-01-31 02:51:52

要正确地消除以下错误:

找到了多个与OS无关的路径lib/arm64-v8a/libopencv_java3.so文件。

您应该在app/build.gradle中使用下面的代码

代码语言:javascript
复制
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'
    }
    ...
}
票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54452509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档