juliansteenbakker / mobile_scanner

A universal scanner for Flutter based on MLKit. Uses CameraX on Android and AVFoundation on iOS.
BSD 3-Clause "New" or "Revised" License
813 stars 475 forks source link

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/window/OnBackInvokedCallback; #1123

Open ujjwal201299 opened 1 month ago

ujjwal201299 commented 1 month ago

1st time I'm able to see scanner but when I navigate back and again come on this screen it gives the below error and app crashes. And then further starting the app it crashes when I navigate to screen containing scanner code.

FATAL EXCEPTION: main E/AndroidRuntime(28584): Process: io.stratosfy.tempgenie, PID: 28584 E/AndroidRuntime(28584): java.lang.NoClassDefFoundError: Failed resolution of: Landroid/window/OnBackInvokedCallback; E/AndroidRuntime(28584): at java.lang.reflect.Executable.getMethodReturnTypeInternal(Native Method) E/AndroidRuntime(28584): at java.lang.reflect.Method.getReturnType(Method.java:148) E/AndroidRuntime(28584): at java.lang.Class.getDeclaredMethods(Class.java:2728) E/AndroidRuntime(28584): at pub.devrel.easypermissions.EasyPermissions.runAnnotatedMethods(EasyPermissions.java:315) E/AndroidRuntime(28584): at pub.devrel.easypermissions.EasyPermissions.onRequestPermissionsResult(EasyPermissions.java:206) E/AndroidRuntime(28584): at pub.devrel.easypermissions.EasyPermissions.notifyAlreadyHasPermissions(EasyPermissions.java:298) E/AndroidRuntime(28584): at pub.devrel.easypermissions.EasyPermissions.requestPermissions(EasyPermissions.java:142) E/AndroidRuntime(28584): at pub.devrel.easypermissions.EasyPermissions.requestPermissions(EasyPermissions.java:112) E/AndroidRuntime(28584): at io.stratosfy.stratosfy_esp_ble_provisioning.PermissionManager.requestLocationPermission(PermissionManager.kt:57) E/AndroidRuntime(28584): at io.stratosfy.stratosfy_esp_ble_provisioning.EspBluetoothProvisioningPlugin.onMethodCall(EspBluetoothProvisioningPlugin.kt:748) E/AndroidRuntime(28584): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267) E/AndroidRuntime(28584): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292) E/AndroidRuntime(28584): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319) E/AndroidRuntime(28584): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/AndroidRuntime(28584): at android.os.Handler.handleCallback(Handler.java:938) E/AndroidRuntime(28584): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(28584): at android.os.Looper.loopOnce(Looper.java:211) E/AndroidRuntime(28584): at android.os.Looper.loop(Looper.java:300) E/AndroidRuntime(28584): at android.app.ActivityThread.main(ActivityThread.java:8322) E/AndroidRuntime(28584): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(28584): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556) E/AndroidRuntime(28584): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1038) E/AndroidRuntime(28584): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.window.OnBackInvokedCallback" on path: DexPathList[[zip file "/data/app/bz0TGevupHBq_pKxl73s4A==/io.stratosfy.tempgenie-G1D9NTY3Lf147wHiKSglfA==/base.apk"],nativeLibraryDirectories=[/data/app/bz0TGevupHBq_pKxl73s4A==/io.stratosfy.tempgenie-G1D9NTY3Lf147wHiKSglfA==/lib/arm64, /data/app/~~bz0TGevupHBq_pKxl73s4A==/io.stratosfy.tempgenie-G1D9NTY3Lf147wHiKSglfA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]] E/AndroidRuntime(28584): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) E/AndroidRuntime(28584): at java.lang.ClassLoader.loadClass(ClassLoader.java:379) E/AndroidRuntime(28584): at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

navaronbracke commented 1 month ago

What Flutter version are you on? Is this in release mode? This also does not seem related to mobile_scanner. The stack trace points to pub.devrel.easypermissions.EasyPermissions. Are you using third party packages for permissions?

ujjwal201299 commented 1 month ago

I'm using flutter version 3.22.2. Yes this issue is only coming in release mode. I'm using the permission_handler package of flutter to manage permissions.