ClassNotFoundException: android.hardware.camera2.CameraAccessException con OpenCV 3.1.0
Estoy trabajando en un proyecto androide con Android Studio 2.2 que utiliza la biblioteca OpenCV 3.1.0. Importaba la biblioteca de acuerdo con esta respuesta . La situación es la siguiente:
- Cuando compile el proyecto para un dispositivo con API> = 21 (exactamente API 23), todo va bien.
- Cuando compile el proyecto para un dispositivo con API <21 (exactamente la API 19, la API mínima que quiero soportar), obtengo el siguiente error de compilación:
Gradle log
- Detección de objetos con OpenCV SVM
- No se encontró el paquete de la biblioteca OpenCV
- ¿Es posible hacer zoom y enfocar usando OpenCV en Android?
- OpenGL ES 2 no funciona en Android API23
- Comparar imágenes SIFT / SURF detalles en archivos .yml OpenCV?
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)...
He encontrado estas preguntas similares:
- Error: el paquete android.hardware.camera2 no existe OpenCV
- No se puede importar las clases import android.hardware.camera2
En ambos, la solución fue establecer la compileSdkVersion
a un mínimo de 21 (la versión donde se camera2
API de camera2
) y asegurarse de que los archivos build.gradle
del proyecto y OpenCV coincidan.
Por desgracia, no funciona para mí. Sigo recibiendo el mismo error. ¿Alguna idea?
Mi código está disponible aquí: Repositorio Github .
¡Gracias por tu ayuda!
- Cómo ejecutar código OpenCV sin OpenCv Manager
- Error: el paquete android.hardware.camera2 no existe OpenCV
- Android Studio + Experimental Gradle Plugin + NDK + OpenCV: mostrando errores en opencv include statement
- Cómo detectar los límites de una página de pasaporte con OpenCV?
- ¿Se puede utilizar un android.hardware.camera2.CaptureRequest con OpenCV?
- Android4OpenCV: configuración de la resolución al inicio
- Uso de OpenCV en Java Camera2 API
- Cómo detectar (contar) el cabello de la imagen con OpenCV?
Finalmente, encontré una solución temporal gracias a @ JavierMollá.
La desactivación de Instant Run resolvió el problema. Vaya a File > Settings > Build, Execution, Deployment > InstantRun
y desmarque Enable Instant Run to hot swap code...
Instant Run es una de las principales características de Android Studio, pero desafortunadamente parece que todavía está en progreso … Como @AndreKR sugiere, puede estar relacionado con este número # 212672 .
- Cómo configurar Java.util.calendar en un período de tiempo específico en el futuro
- GridView error en el espaciado horizontal