私は、OpenCV 3.1.0 ライブラリを使用する Android Studio 2.2 で Android プロジェクトに取り組んでいます。この回答に従ってライブラリをインポートしました。状況は次のとおりです。
- API >= 21 (正確には API 23) を持つデバイスのプロジェクトをコンパイルすると、すべてがうまくいきます。
- API < 21 (正確には API 19、サポートしたい最小 API) のデバイス用にプロジェクトをコンパイルすると、次のコンパイル エラーが発生します。
Gradle ログ
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
> java.lang.ClassNotFoundException: android.hardware.camera2.CameraAccessException
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)...
私はこれらの同様の質問を見つけました:
どちらの場合も、解決策はcompileSdkVersion
を最小の 21 ( camera2
API が導入されたバージョン)に設定しbuild.gradle
、プロジェクトと OpenCV のファイルが一致することを確認することでした。
残念ながら、それは私にはうまくいきません。それでも同じエラーが発生します。何か案が?
私のコードはここで入手できます: Github リポジトリ。
ご協力いただきありがとうございます!