Я работаю в проекте Android с Android Studio 2.2, в котором используется библиотека OpenCV 3.1.0. Я импортировал библиотеку в соответствии с этим answer. Возможна ситуация:ClassNotFoundException: android.hardware.camera2.CameraAccessException с OpenCV 3.1.0
- При компиляции проекта для устройства с 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)...
Я нашел эти же вопросы:
- Error: package android.hardware.camera2 does not exist OpenCV
- Can't import import android.hardware.camera2 classes
В обоих из них решение было установить compileSdkVersion
на минимум 21 (версия которой была введена camera2
API) и убедитесь, что build.gradle
файлы проекта и матч OpenCV.
К сожалению, для меня это не сработало. Я все равно получаю ту же ошибку. Есть идеи?
Мой код доступен здесь: Github repository.
Благодарим за помощь!
Почему вы хотите установить CompileSdk в такое старое государство? Установите его равным 24, и поскольку у вас есть MinSdk из 9, старые устройства все равно будут поддерживаться (но вам нужно убедиться, что во время выполнения вы не вызываете никакой камеры2 apis) – GoneUp
'compileSdkVersion' в обоих файлах' build.gradle' 24. Я хочу предоставить поддержку API 19 (KitKat). В последнем коммите я изменил «minSdkVersion» с 19 на 9, чтобы попробовать (поскольку OpenCV должен предоставлять поддержку от API 8, но с «appcompat-v7: 24.2.1» минимальный API равен 9). Но ничего не изменилось. –
Возможный дубликат [Ошибка: пакет android.hardware.camera2 не существует OpenCV] (http://stackoverflow.com/questions/36204781/error-package-android-hardware-camera2-does-not-exist-opencv) –