Tôi đang làm việc trong một dự án Android với Android Studio 2.2 sử dụng thư viện OpenCV 3.1.0. Tôi đã nhập thư viện theo số answer này. Tình huống như sau:ClassNotFoundException: android.hardware.camera2.CameraAccessException với OpenCV 3.1.0
- Khi tôi biên dịch dự án cho thiết bị có API> = 21 (chính xác API 23), mọi thứ diễn ra tốt đẹp.
- Khi tôi lập dự án cho một thiết bị với API < 21 (chính xác API 19, API tối thiểu mà tôi muốn hỗ trợ), tôi nhận được lỗi biên dịch sau đây:
Gradle đăng nhập
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)...
tôi tìm thấy những câu hỏi tương tự:
- Error: package android.hardware.camera2 does not exist OpenCV
- Can't import import android.hardware.camera2 classes
Trong cả hai giải pháp là để thiết lập compileSdkVersion
để tối thiểu 21 (phiên bản nơi camera2
API được giới thiệu) và chắc chắn rằng build.gradle
file của dự án và phù hợp với OpenCV.
Thật không may, nó không hoạt động đối với tôi. Tôi vẫn gặp lỗi tương tự. Bất kỳ ý tưởng?
Mã của tôi có sẵn tại đây: Github repository.
Cảm ơn sự giúp đỡ của bạn!
Tại sao bạn muốn đặt CompileSdk thành Trạng thái cũ như vậy? Đặt nó thành 24 và kể từ khi bạn có một MinSdk của 9 thiết bị cũ vẫn sẽ được hỗ trợ (nhưng bạn cần phải chắc chắn về thời gian chạy mà bạn không gọi bất kỳ api camera2) – GoneUp
'compileSdkVersion' trong cả hai tệp' build.gradle' là 24. Tôi muốn hỗ trợ từ API 19 (KitKat). Trong cam kết cuối cùng tôi đã thay đổi 'minSdkVersion' từ 19 đến 9 chỉ để thử (vì OpenCV được cho là hỗ trợ từ API 8, nhưng với' appcompat-v7: 24.2.1' API tối thiểu là 9). Nhưng không có gì thay đổi. –
Có thể trùng lặp với [Lỗi: gói android.hardware.camera2 không tồn tại OpenCV] (http://stackoverflow.com/questions/36204781/error-package-android-hardware-camera2-does-not-exist-opencv) –