4

I run Android emulator and crash at "cameraProviderFuture = ProcessCameraProvider.getInstance(requireActivity())" this line. Why?

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())
        )


    }

logcat error: java.lang.NoSuchMethodError: No static method getOrCreateInstance(Landroid/content/Context;)Lcom/google/common/util/concurrent/ListenableFuture; in class Landroidx/camera/core/CameraX; or its super classes (declaration of 'androidx.camera.core.CameraX' appears in /data/app/~~pfIVQ_AeL7AM1I9N0OVqPw==/-soiV3Uc-nIKoyBDTJx6EHA==/base.apk) at androidx.camera.lifecycle.ProcessCameraProvider.getInstance(ProcessCameraProvider.java:149) at com.hannlync.mercury.fragment.information_activity.information_fragment.cargo_fragment.CargoFragment.onViewCreated(CargoFragment.kt:47)

Squall Huang
  • 647
  • 9
  • 20

1 Answers1

17

After I updated gradle and solve the problem.

// 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"
Squall Huang
  • 647
  • 9
  • 20