从
androidx.camera:camera-view:1.0.0-alpha32
更新到 androidx.camera:camera-view:1.1.0-beta01
后,我在使用 CameraX
时收到下一个错误
camerax_version = "1.0.2"
// CameraX
implementation "androidx.camera:camera-core:$camerax_version"
implementation "androidx.camera:camera-camera2:$camerax_version"
implementation "androidx.camera:camera-lifecycle:$camerax_version"
implementation "androidx.camera:camera-view:1.1.0-beta01"
错误
java.lang.IllegalStateException: CameraX is not configured properly. The most likely cause is you did not include a default implementation in your build such as 'camera-camera2'.
at androidx.camera.core.CameraX.<init>(CameraX.java:109)
at androidx.camera.lifecycle.ProcessCameraProvider.getOrCreateCameraXInstance(ProcessCameraProvider.java:181)
at androidx.camera.lifecycle.ProcessCameraProvider.getInstance(ProcessCameraProvider.java:167)
它失败了,因为您对各种 androidx.camera.* 库有不同的版本。
如果您检查此:
https://developer.android.com/jetpack/androidx/releases/camera
它有以下描述:
从1.1.0-beta01开始,所有CameraX库将对齐相同版本 数字。这将帮助开发人员更轻松地跟踪版本 降低大版本兼容性矩阵的复杂度。
因此您需要对所有camerax库使用相同的版本。
该错误是因为您使用了同一库的不同 api 版本,在库中找不到新版本的camera-camera2 api 。
val cameraVersion = "1.3.1"
implementation("androidx.camera:camera-lifecycle:$cameraVersion")
implementation("androidx.camera:camera-camera2:$cameraVersion")
implementation("androidx.camera:camera-view:$cameraVersion")
implementation("androidx.camera:camera-core:$cameraVersion")
此代码运行良好,没有任何错误