无法导入导入android.hardware.camera2类

时间:2015-12-25 07:38:54

标签: android opencv android-studio android-camera

我将opencv android库导入我的android studio,而Camera2Renderer类有很多编译器错误,因为android.hardware.camera2类无法导入。

enter image description here

4 个答案:

答案 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更改为相同,其余的则不同。它的工作正常。