-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AbstractMethodError: abstract method "android.util.Size androidx.camera.core.ImageAnalysis$Analyzer.getDefaultTargetResolution()" #767
Comments
same issue |
Adding
|
Thank you. |
Investigation notes (
[Register("androidx/camera/core/ImageAnalysis$Analyzer", "", "AndroidX.Camera.Core.ImageAnalysis/IAnalyzerInvoker")]
public interface IAnalyzer : IJavaObject, IDisposable, IJavaPeerable {
unsafe Size? DefaultTargetResolution
{
[Register("getDefaultTargetResolution", "()Landroid/util/Size;", "GetGetDefaultTargetResolutionHandler:AndroidX.Camera.Core.ImageAnalysis/IAnalyzer, Xamarin.AndroidX.Camera.Core")]
get {
return Java.Lang.Object.GetObject<Size>(_members.InstanceMethods.InvokeVirtualObjectMethod("getDefaultTargetResolution.()Landroid/util/Size;", this, null).Handle, JniHandleOwnership.TransferLocalRef);
}
}
private static Delegate? cb_getDefaultTargetResolution;
private static Delegate GetGetDefaultTargetResolutionHandler()
{
if ((object)cb_getDefaultTargetResolution == null)
{
cb_getDefaultTargetResolution = JNINativeWrapper.CreateDelegate(new global::_JniMarshal_PP_L(n_GetDefaultTargetResolution));
}
return cb_getDefaultTargetResolution;
}
private static nint n_GetDefaultTargetResolution(nint jnienv, nint native__this)
{
return JNIEnv.ToLocalJniHandle(Java.Lang.Object.GetObject<IAnalyzer>(jnienv, native__this, JniHandleOwnership.DoNotTransfer).DefaultTargetResolution);
}
} This appears to be an issue with Java calling a default interface method where the C# type has not provided a non-default method implementation. Providing a non-default method implementation in C# fixes the crash. |
Android application type
Android for .NET (net6.0-android, etc.)
Affected platform version
VS2022 17.6.5
Description
With the latest version of CameraX we are running into an exception when inheriting from ImageAnalysis.IAnalyzer:
We are not calling getDefaultTargetResolution() directly, just passing a ImageAnalysis.IAnalyzer object to the library.
Steps to Reproduce
Minimum reproducible app: AndroidApp7.zip
Tested & affected versions for: Xamarin.AndroidX.Camera.Camera2/Xamarin.AndroidX.Camera.Lifecycle: 1.2.3.1, 1.2.2
Did you find any workaround?
Revert back Xamarin.AndroidX.Camera.* back to 1.2.1
Relevant log output
No response
The text was updated successfully, but these errors were encountered: