首页 > 解决方案 > 在 Android 项目中使用原生库会导致构建错误

问题描述

我想在我的 Android 项目中使用这个人脸识别库,所以我在我的build.gradle. 但是当我构建项目时,它会抛出这个错误:

More than one file was found with OS independent path 'lib/armeabi-v7a/libopencv_java3.so'

我试图将其添加到我android {}的应用程序中build.gradle

packagingOptions {
    pickFirst 'lib/arm64-v8a/libopencv_java3.so'
}

并更改pickFirstexclude,但在重建时仍然返回相同的错误。

我已经读过要使用本机库,需要创建一个jni文件夹并将本机库代码放在那里,这是正确的吗?如果是这样,我需要把哪些文件放在那里?就我而言,该库是用 Java 编写的,它是一个有效的 Android 库,只是它使用了本机方法。

更新:我知道添加了jnilibs并且obj来自库文件夹,如下所示:

在此处输入图像描述

并指定

sourceSets.main {
    jniLibs.srcDir 'src/main/libs'
    jni.srcDirs = []
}

但是在构建时仍然存在类似的错误:

More than one file was found with OS independent path 'lib/arm64-v8a/libopencv_java3.so'

有什么解决办法吗?

标签: androidgradleface-recognition

解决方案


推荐阅读