Firebase ML Barcode exceptions - BarcodeDetectorCreator is declared final

34 Views Asked by At

I'm not sure why do I get the following errors with the following code:

override fun analyze(
    imageProxy: ImageProxy,
) {
    Timber.d("Inside analyze")
    val currentTimestamp = System.currentTimeMillis()
    if (currentTimestamp - lastAnalyzedTimestamp >= TimeUnit.SECONDS.toMillis(1)) {
        imageProxy.image?.let { imageToAnalyze ->
            val image = FirebaseVisionImage.fromMediaImage(
                imageToAnalyze,
                imageProxy.imageInfo.rotationDegrees
            )
            detector.detectInImage(image)
                .addOnSuccessListener { barcodes ->
                    if (barcodes.isNotEmpty()) {
                        Timber.d("Scanned: $barcodes")
                        onBarcodesDetected(barcodes)
                    } else {
                        Timber.d("No barcode scanned")
                    }
                }
                .addOnFailureListener { exception ->
                    Timber.d("BarcodeAnalyser: Something went wrong with exception: $exception")
                }
                .addOnCompleteListener {
                    imageProxy.close()
                }
        }
        lastAnalyzedTimestamp = currentTimestamp
    } else {
        imageProxy.close()
    }
}

Exception 1:

java.lang.VerifyError: Superclass com.google.firebase.ml.vision.barcode.internal.zzj of com.google.firebase.ml.vision.barcode.BarcodeDetectorCreator is declared final (declaration of 'com.google.firebase.ml.vision.barcode.BarcodeDetectorCreator' appears in /data/app/~~xtNwRdP-8INX_Et8TKobrw==/com.ecoscanner.android-N16rSJ0NNkb2A00mYWrcRw==/base.apk!classes22.dex) at java.lang.VMClassLoader.findLoadedClass(Native Method) at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738) at java.lang.ClassLoader.loadClass(ClassLoader.java:363) at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

Exception 2:

  java.lang.IllegalArgumentException
                                                                                                  at

com.google.android.gms.common.internal.Preconditions.checkArgument(com.google.android.gms:play-services-basement@@18.1.0:1) at com.google.firebase.ml.vision.common.FirebaseVisionImageMetadata$Builder.setRotation(com.google.firebase:firebase-ml-vision@@24.0.3:8) at com.google.firebase.ml.vision.common.FirebaseVisionImage.fromMediaImage(com.google.firebase:firebase-ml-vision@@24.0.3:24) at com.ecoscanner.android.features.scanner.BarcodeAnalyser.analyze(ScannerScreen.kt:142) at androidx.camera.core.ImageAnalysis.lambda$setAnalyzer$2(ImageAnalysis.java:481) at androidx.camera.core.ImageAnalysis$$ExternalSyntheticLambda2.analyze(Unknown Source:2) at androidx.camera.core.ImageAnalysisAbstractAnalyzer

p.s. libs versions:

androidxCameraBom = "1.2.3"
firebaseBom = "32.1.1"
firebaseMLVision = "24.0.3"
firebaseMLVisionBarcodeModel = "16.0.1"
gmsPlugin = "4.3.15"
0

There are 0 best solutions below