无法在 android studio 中集成 OpenCV
Posted
技术标签:
【中文标题】无法在 android studio 中集成 OpenCV【英文标题】:Unable to integrate OpenCV in android studio 【发布时间】:2017-12-09 03:45:34 【问题描述】:我正在为我的最新项目尝试将 openCV 集成到 android Studio 中。我按照以下步骤操作:
-
导入新模块..\OpenCV-android-sdk\java\
添加了依赖 OpenCVLibrary320
在 OpenCVLibrary320 的 build.gradle 中将 compilesdk 和 targetsdk 版本更改为 23,并将 buildToolsVersion 更改为 25.0.0
将..\OpenCV-android-sdk\sdk\native的内容复制到app\main\src\jniLibs(创建jni文件夹后)
编写了一段 sn-p 代码来测试它是否正常工作
但我得到了错误:
错误:任务 ':app:compileDebugNdk' 执行失败。 错误:您的项目包含 C++ 文件,但未使用受支持的本机构建系统。 考虑将 CMake 或 ndk-build 与稳定的 Android Gradle 插件集成: https://developer.android.com/studio/projects/add-native-code.html 或使用实验插件: https://developer.android.com/studio/build/experimental-plugin.html.
我该如何解决这个问题?
注意:在第 4 步中,我创建了 jniLibs 文件夹,但它没有显示在“Android”视图中,因此我必须将内容复制到“项目”视图中的 jniLibs 文件夹中。
【问题讨论】:
***.com/questions/43766092/… 这是迄今为止在 android 中集成 opencv 的最佳解决方案 Reg. Adding OpenCV to Native C code through CMake on Android Studio的可能重复 【参考方案1】:在lib文件夹中手动添加jar文件,
应用程序 -> 库 -> xyz.jar
这也会产生重复的 jar 问题,从上一个文件夹中删除,因为如果你不删除它会被编译两次
【讨论】:
在哪里可以找到opencv的jar文件? jar 文件将作为模块添加到 app 文件夹之外的文件夹中。该文件夹可能被命名为“opencv”【参考方案2】:在gradle中添加模块依赖:
include ':libraries:opencv'
在 build.gradle 中添加此内容
apply plugin: 'android-library'
buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:2.3.2'
android
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0.0"
sourceSets
main
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
aidl.srcDirs = ['src']
【讨论】:
以上是关于无法在 android studio 中集成 OpenCV的主要内容,如果未能解决你的问题,请参考以下文章
使用 chaquopy 在 android studio 中集成 python 代码(对象检测代码)
如何在 android studio 中集成 Paytm 订阅支付(定期支付)?
如何在按钮后面的android studio中集成unity apk?
为啥使用 Android Studio 在我的应用中集成 AdMob 不起作用?