首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android中将.so文件添加到jniLibs中:在APK打包过程中重复文件

在Android中将.so文件添加到jniLibs中:在APK打包过程中重复文件
EN

Stack Overflow用户
提问于 2014-06-20 15:08:16
回答 3查看 6.2K关注 0票数 5

按照各种指令,我似乎应该将本机库添加到app/src/main/jniLibs中,它们将自动地链接起来。但是,当我这样做(对于OpenCV)时,我会得到以下内容:

代码语言:javascript
复制
Error:duplicate files during packaging of APK /.../app/build/outputs/apk/app-debug-unaligned.apk
    Path in archive: lib/armeabi/libopencv_java.so
    Origin 1: /.../app/src/main/jniLibs/armeabi/libopencv_java.so
    Origin 2: /.../build/intermediates/exploded-aar/AppName/.libraries/opencv/unspecified/jni/armeabi/libopencv_java.so
You can ignore those files in your build.gradle:
    android {
      packagingOptions {
        exclude 'lib/armeabi/libopencv_java.so'
      }
    }
Error:Execution failed for task ':app:packageDebug'.
> Duplicate files copied in APK lib/armeabi/libopencv_java.so
    File 1: /.../app/src/main/jniLibs/armeabi/libopencv_java.so
    File 2: /.../app/src/main/jniLibs/armeabi/libopencv_java.so

添加exclude部分不起作用。文件只有一个副本,但不知怎么的,它被引用了两次,而第二个(build)包含似乎是自动生成的。我能做什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-01 08:54:09

ndk-build正在从OpenCV生成所有包的副本。除了实际的应用程序库之外,我还从我的应用程序中删除了所有的.so库,然后它打包得很好。

票数 1
EN

Stack Overflow用户

发布于 2016-05-09 03:57:18

在重复库(*.so)文件的情况下,排除选项不会有帮助,因为我们不能完全排除本机二进制文件。在packagingOptions中还有一个选项。这是“挑选第一”。我们可以避免重复的文件错误,并包括编译器遇到的第一个错误。

代码语言:javascript
复制
packagingOptions {    
    pickFirst 'lib/armeabi/libopencv_java.so'
}
票数 5
EN

Stack Overflow用户

发布于 2015-02-27 03:31:40

我也有过这个问题。这似乎是因为关于为Android设置OpenCV的文档和各种对话线程说,将JNI库放在path /src/main/jniLibs或/src/main/libs中。问题是/src/文件夹用于源代码,而不是库。解决方案是将/main/文件夹移出/src/并进入项目根,这就是Google如何记录这个项目结构:https://developer.android.com/tools/projects/index.html

我在build.gradle中还有以下设置:

代码语言:javascript
复制
android {
    sourceSets {
        main {
            jni.srcDirs = [] //disable automatic ndk-build call
            jniLibs.srcDir 'main/libs'
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24330366

复制
相关文章

相似问题

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