android - 在 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'
}
并更改pickFirst
为exclude
,但在重建时仍然返回相同的错误。
我已经读过要使用本机库,需要创建一个jni
文件夹并将本机库代码放在那里,这是正确的吗?如果是这样,我需要把哪些文件放在那里?就我而言,该库是用 Java 编写的,它是一个有效的 Android 库,只是它使用了本机方法。
更新:我知道添加了jni
,libs
并且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'
有什么解决办法吗?
解决方案
推荐阅读
- dom - 为什么我的 addLoadEvent 只是第一个 js 文件执行?
- gpu - CUDA 运行时错误 (59):设备端断言已触发
- html - 如何在 css 中隐藏一个 id 的子类?
- ios - 验证只能包含字母、数字和下划线字符的字符串
- sql - ms 访问 - sql 重写
- java - Spring框架Web服务调用的设计
- c# - http.post 在 Angular 5 中不起作用
- python-3.x - 使用 python reduce() 将列表转换为字符串
- python-3.x - 如何在 python 中导入 excel 工作表并使用数据框表示工作表的列?
- php - 在 Woocommerce 购物车和结帐中显示特定的父产品属性