在Android(Studio 3.2.1),目标SDK 28上初始化OpenCv

时间:2018-11-03 13:38:02

标签: android sdk opencv4android

我一直在按照以下步骤在Android Studio项目中设置OpenCv: https://stackoverflow.com/a/27421494/8713068

我已经尝试过OpenCv 3.4.2和3.4.3。在没有Kotlin支持的情况下,我尝试过。 尽管已多次执行每个步骤,但我仍然遇到“ Gradle项目同步失败”的情况。但是在“生成窗口”中,所有内容均为“成功”。

您最近有没有尝试创建新的OpenCv项目?怎么了?

OpenCV的build.gradle

apply plugin: 'com.android.library'

android {
compileSdkVersion 28
buildToolsVersion "28.0.3"

defaultConfig {
    minSdkVersion 23
    targetSdkVersion 28
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}
}

应用程序的build.gradle:

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.myname.test2"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation project(':openCVLibrary342')
}

再次执行以下步骤:

  1. 创建了新项目
  2. 解压缩的OpenCV SDK
  3. 文件->新建->导入模块-> SDK的java文件夹
  4. 更改了OpenCv(SDK版本)的build.gradle
  5. 右键单击应用程序->“打开模块设置”->(应用程序的依赖项)-> +->添加了openCv
  6. 在“ main”文件夹下创建“ jniLibs”文件夹,并添加OpenCVSDK的“ libs”文件夹中的所有文件夹

我尝试添加NDK,也没有帮助

1 个答案:

答案 0 :(得分:0)

如果有人还在为此苦恼,则OpenCv会带来自己的AndroidManifest,并且它已经声明了sdk-version。 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> 线,一切都应该正常工作