【问题标题】:Can't import import android.hardware.camera2 classes无法导入导入 android.hardware.camera2 类
【发布时间】: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”并查看构建输出

标签: android opencv android-studio android-camera


【解决方案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 更改为相同,其余部分不同。它现在工作正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-18
        • 2015-11-17
        • 1970-01-01
        • 2016-04-15
        • 2013-02-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多