android - ClassNotFoundException : android. hardware.camera2.CameraAccessException 与 OpenCV 3.1.0

标签 android opencv android-camera opencv4android opencv3.1

我正在使用 Android Studio 2.2 开发一个使用 OpenCV 3.1.0 库的 android 项目。我是按照这个answer导入库的.情况如下:

  • 当我为 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 repository .

感谢您的帮助!

最佳答案

最后,感谢@JavierMollá,我找到了一个暂时的解决方案。

关闭 Instant Run 解决了这个问题。转到 File > Settings > Build, Execution, Deployment > InstantRun 并取消选中 Enable Instant Run to hot swap code...

Disable instant run

Instant Run 是 Android Studio 的一项主要功能,但不幸的是,它似乎仍在进行中......正如@AndreKR 所建议的,它可能与此问题有关 #212672 .

关于android - ClassNotFoundException : android. hardware.camera2.CameraAccessException 与 OpenCV 3.1.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39770355/

相关文章:

python - 在openCV warpPerspective中,如何转换左侧图像并将其缝合到右侧图像?

android - 如何在android中使用相机拍摄图像和视频?

android - 如何在 PreviewView 准备好时获取 CameraX 事件

android - YouTube API v3示例IllegalArgumentException,Android Studio

opencv - 如何使用 opencv2.3 获取 r,g,b 值

java - Opencv4Android 不满意的链接器错误时刻

android - 如何实现 Android 相机在任何屏幕方向拍照?

android - Android 中的 getGroupIdLevel1()

android - 检查数据库中是否存在值

java - 如何在android中查找json日期列表是否在一个月内