2016-03-24 16 views
14

OpenCVモジュールをプロジェクトに追加しようとしていますが、一部のgradle問題を解決できません。私がしようとするたびに、あなたはまだ、私のアプリとOpenCVのGradleのファイルの試合を見て、わかるようエラー:パッケージandroid.hardware.camera2が存在しません。OpenCV

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 17 
    buildToolsVersion "23.0.2" 

defaultConfig { 
    minSdkVersion 8 
    targetSdkVersion 21 
} 

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

:ここに私のapp.gradleファイルされる:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 17 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.sveder.cardboardpassthrough" 
     minSdkVersion 8 
     targetSdkVersion 21 
    } 

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

dependencies { 
    compile 'com.android.support:support-v4:18.0.0' 
    compile files('libs/cardboard.jar') 
    compile project(':openCVLibrary') 
} 

は、ここでのOpenCVのbuild.gradleファイル(3.0)モジュールです私はエラーerror: package android.hardware.camera2が存在しないプロジェクトが構築されています。私は間違って何をしていますか?

ありがとうございます。

答えて

54

compileSdkVersion 17を21(推奨)以内に変更してください。 android.hardware.camera2added in API 21でした。

+0

私が開発している携帯電話にはAPIバージョン17があります...これは古いバージョンのOpenCVに切り替える必要があるということですか?古いカメラAPIに戻すことができる「互換性」モードはありませんか? – user3059347

+0

既に 'minSdkVersion 8'をターゲットにしているので、17で動作します。 –

+0

問題はそうです。古いCamera APIをデフォルトにする必要があるにもかかわらず、Camera2の欠落についてはまだ不満があります。 – user3059347

13

build.gradleとは別に、プロジェクト構成Ctrl +Alt+Shift+sの設定を確認してください。これは私の問題を解決しました。 enter image description here

+0

ありがとうございます。それが助けになりました。唯一のことは、私はモジュール設定を開くためにF4を押さなければならなかった。それでは、私は同じ写真を見ることができた:) – Tima

+1

ありがとう、これは助けてくれた。これは正解でなければなりません。 –

0

私はRohitが言ったようにsdkversionを変更しようとしましたが、問題はそこにありました。しかし、私はOpenCVライブラリのsdkversionを変更する必要があることに気付きました。 Shift + Ctrl + Alt + sを押して、OpenCVライブラリのプロパティタブを表示します。 sdkVersionを21以降に変更します。 Here is the screenshot, in case if you are confused with tabs