Android CameraX NoSuchMethodError:没有静态方法 getOrCreateInstance(Landroid/content/Context;)

Squ*_*ang 4 kotlin android-studio android-camerax

我运行 Android 模拟器并在“cameraProviderFuture = ProcessCameraProvider.getInstance(requireActivity())”这一行崩溃。为什么?

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        val barcodeScannerOptions = BarcodeScannerOptions.Builder()
            .setBarcodeFormats(
                Barcode.FORMAT_QR_CODE
            )
            .build()


        cameraProviderFuture = ProcessCameraProvider.getInstance(requireActivity())
        cameraProviderFuture.addListener(
            Runnable {
                val cameraProvider = cameraProviderFuture.get()
                val preview = Preview.Builder().build()
                val cameraSelector = CameraSelector.Builder()
                    .requireLensFacing(LENS_FACING_BACK)
                    .build()
                preview.setSurfaceProvider(binding.cargoPreviewView.surfaceProvider)
                val camera =
                    cameraProvider.bindToLifecycle(viewLifecycleOwner, cameraSelector, preview)

            },ContextCompat.getMainExecutor(requireContext())
        )


    }
Run Code Online (Sandbox Code Playgroud)

logcat错误:java.lang.NoSuchMethodError:没有静态方法 getOrCreateInstance(Landroid/content/Context;)Lcom/google/common/util/concurrent/ListenableFuture; 在类 Landroidx/camera/core/CameraX 中;或其超类(“androidx.camera.core.CameraX”的声明出现在 /data/app/~~pfIVQ_AeL7AM1I9N0OVqPw==/-soiV3Uc-nIKoyBDTJx6EHA==/base.apk 中)在 androidx.camera.lifecycle.ProcessCameraProvider.getInstance (ProcessCameraProvider.java:149) 在 com.hannlync.mercury.fragment.information_activity.information_fragment.cargo_fragment.CargoFragment.onViewCreated(CargoFragment.kt:47)

Squ*_*ang 18

我更新了gradle之后问题就解决了。

// CameraX core library using the camera2 implementation
    def camerax_version = "1.0.2"
    // The following line is optional, as the core library is included indirectly by camera-camera2
    implementation "androidx.camera:camera-core:1.1.0-alpha11"
    implementation "androidx.camera:camera-camera2:1.1.0-alpha11"
    // If you want to additionally use the CameraX Lifecycle library
    implementation "androidx.camera:camera-lifecycle:1.1.0-alpha11"
    // If you want to additionally use the CameraX View class
    implementation "androidx.camera:camera-view:1.0.0-alpha31"
    // If you want to additionally use the CameraX Extensions library
    implementation "androidx.camera:camera-extensions:1.0.0-alpha31"
Run Code Online (Sandbox Code Playgroud)