答案 0 :(得分:37)
我解决了这个问题。吉姆是对的,我没有正确的目标API。对于遇到此问题并找到此线程的下一个人,解决方案是您必须确保项目的build.gradle文件与openCV匹配。感谢所有帮助我的人,以及圣诞快乐!
答案 1 :(得分:4)
我正在使用openCVLibrary3.2并尝试运行其示例并面临同样的问题,但我更改了mysampleApp和openCVLibrary320模块的gradle文件,如下所示
这是我的应用build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "org.opencv.face"
minSdkVersion 9
targetSdkVersion 21
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_5
targetCompatibility JavaVersion.VERSION_1_5
}
ndk {
moduleName "native_sample"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
externalNativeBuild {
ndkBuild {
path 'src/main/jni/Android.mk'
}
}
}
dependencies {
compile project(path: ':openCVLibrary320')
}
and this my OpenCV library module build.gradle file
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 9
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
注意: 需要注意的是compileSdkVersion,buildToolsVersion,minSdkVersion,targetSdkVersion这些对于所有gradle文件必须相同
我将compileSdkVersion从14更改为23 和buildToolsVersion为“23.0.2” 这解决了camera2导入相关问题
答案 2 :(得分:1)
我正在研究openCVLibrary330试图运行其样本并面临同样的问题,但我更改了openCVLibrary330模块的gradle文件,如下所示
这是我的app build.gradle
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "26.0.2"
defaultConfig {
minSdkVersion 8
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
答案 3 :(得分:0)
我遇到了同样的问题。但是,正如许多人所说,我没有必要更改gradle文件以完全相同。我在两个gradle文件上将compileSdkVersion和buildToolsVersion更改为相同,其余的则不同。它的工作正常。