Skip to content

Android: crash on starting barcode scanner (0.5.0-preview.1) #238

@MFinkBK

Description

@MFinkBK

Yesterday I saw that @jfversluis was actually generating a new NuGet package, and as soon as it was available, I tried it out. My main issue that I tried to fix was the crash with Android 15 devices (reported in #213). The crash with package version 0.4.0 was:

System.MissingMethodException
  Message=Method not found: void AndroidX.Camera.Core.Preview.SetSurfaceProvider(AndroidX.Camera.Core.Preview/ISurfaceProvider)

After upgrading to 0.5.0-preview.1 I get a different crash instead:

Java.Lang.AbstractMethodError
  Message=abstract method "android.util.Size androidx.camera.core.ImageAnalysis$Analyzer.getDefaultTargetResolution()" on receiver java.lang.Class<crc6477b0797571f03227.FrameAnalyzer>

The stack trace from Visual Studio window was:

 	0x10 in Android.Runtime.RuntimeNativeMethods.monodroid_debugger_unhandled_exception	C#
 	0x21 in Android.Runtime.DynamicMethodNameCounter.5	C#
 	0x17 in System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw at /_/src/libraries/System.Private.CoreLib/src/System/Runtime/ExceptionServices/ExceptionDispatchInfo.cs:53,30	C#
 	0x8D in Java.Interop.JniEnvironment.InstanceMethods.CallNonvirtualObjectMethod at /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net8.0/JniEnvironment.g.cs:20417,5	C#
 	0x8A in Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualObjectMethod at /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:876,7	C#
 	0x12 in AndroidX.Camera.Core.ImageAnalysis.IAnalyzer.get_DefaultTargetResolution at /Users/runner/work/1/s/generated/androidx.camera.camera-core/obj/Release/net6.0-android/generated/src/AndroidX.Camera.Core.CameraXConfig.cs:434,133	C#
 	0x8 in AndroidX.Camera.Core.ImageAnalysis.IAnalyzer.n_GetDefaultTargetResolution at /Users/runner/work/1/s/generated/androidx.camera.camera-core/obj/Release/net6.0-android/generated/src/AndroidX.Camera.Core.CameraXConfig.cs:418,64	C#
 	0x11 in Android.Runtime.DynamicMethodNameCounter.5	C#
 	0xF in Java.Interop.JniNativeMethods.CallNonvirtualObjectMethodA at /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net8.0/JniEnvironment.g.cs:18189,4	C#
 	0x73 in Java.Interop.JniEnvironment.InstanceMethods.CallNonvirtualObjectMethod at /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net8.0/JniEnvironment.g.cs:20412,4	C#
 	0x31 in Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeNonvirtualObjectMethod at /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:894,6	C#
 	0x7C in AndroidX.Camera.Lifecycle.ProcessCameraProvider.BindToLifecycle at D:\a\_work\1\s\generated\androidx.camera.camera-lifecycle\obj\Release\net8.0-android\generated\src\AndroidX.Camera.Lifecycle.ProcessCameraProvider.cs:181,5	C#
 	0xBA in ZXing.Net.Maui.CameraManager.UpdateCamera	C#
 	0x142 in ZXing.Net.Maui.CameraManager.	C#
 	0x6 in Java.Lang.Runnable.Run at /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Java.Lang/Runnable.cs:27,4	C#
 	0x8 in Java.Lang.IRunnableInvoker.n_Run at /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net9.0/android-35/mcw/Java.Lang.IRunnable.cs:59,4	C#
 	0x8 in Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V at /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:22,5	C#

From the call stack I figured that I can't catch the exception myself, as its not a function that my code is calling.

The device was a Samsung Galaxy A14, still on Android 14, but currently updating to Android 15.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions