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

Posted

技术标签:

【中文标题】无法导入导入 android.hardware.camera2 类【英文标题】:Can't import import android.hardware.camera2 classes 【发布时间】:2016-03-31 09:09:25 【问题描述】:

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

【问题讨论】:

显示构建日志 - 您的错误可能来自许多可能的来源:错误的目标 API、错误的 XML 文件、项目文件命名问题等。 我感觉它来自错误的目标 API。我也是android开发的新手。构建日志是否显示在事件日志中? 你的目标是 android-21 吗? 通常,是的。您也可以转到“终端”窗口,您应该能够键入“gradle build”或在 Windows 上输入“gradlew build”并查看构建输出 【参考方案1】:

我解决了这个问题。 Jim 是对的,我没有正确的目标 API。对于下一个遇到此问题并找到此线程的人,解决方案是您必须确保您的项目的 build.gradle 文件与您的 openCV 匹配。感谢所有帮助过我的人,圣诞快乐!

【讨论】:

更改两个 gradle 构建文件以显示相同的 SDK 版本配置对我有用。谢谢!使用:Android OpenCV 3.1.0 喜欢它..谢谢:)【参考方案2】:

我正在使用 openCVLibrary3.2.0 并尝试运行其示例并遇到相同的问题,但我更改了 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导入相关的问题

【讨论】:

【参考方案3】:

我正在研究 openCVLibrary330,试图运行它的示例并遇到同样的问题,但我更改了 openCVLibrary330 模块的 gradle 文件,如下所示

这是我的应用 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'
    
  

【讨论】:

【参考方案4】:

我遇到了同样的问题。但是,正如许多人所建议的那样,我不必更改 gradle 文件以完全匹配。我将两个 gradle 文件上的 compileSdkVersion 和 buildToolsVersion 更改为相同,其余部分不同。它现在工作正常。

【讨论】:

以上是关于无法导入导入 android.hardware.camera2 类的主要内容,如果未能解决你的问题,请参考以下文章

导入 theano 时出错“无法导入名称 gof”

无法从'@angular/forms'导入“导入FormGroup,FormControl [重复]

vulfocus无法导入镜像

SQL Server2014 任务导入数据导入Excel表操作无法完成

我必须安装啥才能解决找不到 GtkSource 的任何类型库,无法导入:GtkSourceView,无法导入名称 GtkSource

ImportError:无法导入名称“评估”(来自意外导入评估)