7

私は、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 ( camera2API が導入されたバージョン)に設定しbuild.gradle、プロジェクトと OpenCV のファイルが一致することを確認することでした。

残念ながら、それは私にはうまくいきません。それでも同じエラーが発生します。何か案が?

私のコードはここで入手できます: Github リポジトリ

ご協力いただきありがとうございます!

4

1 に答える 1

6

最後に、@JavierMollá のおかげで一時的な解決策を見つけました。

Instant Runをオフにすると、問題は解決しました。に移動しFile > Settings > Build, Execution, Deployment > InstantRunてチェックを外しEnable Instant Run to hot swap code...ます。

即時実行を無効にする

Instant Run は Android Studio の主要な機能ですが、残念ながらまだ開発中のようです... @AndreKR が示唆しているように、この問題#212672に関連している可能性があります。

于 2016-10-03T10:19:10.900 に答える