无法在 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 不起作用?

Android Studio 中集成Opencv环境(包含opencv_contrib部分)

Android Studio中集成OpenCV