This repository was archived by the owner on Jan 13, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 685
This repository was archived by the owner on Jan 13, 2025. It is now read-only.
ModelRenderable setSource exception #833
Copy link
Copy link
Open
Labels
in-progressWork is in progressWork is in progressin-testneeds-reviewReview requested on code changesReview requested on code changes
Description
Hello!
I'm currently trying to make a implementation with the SceneForm binding in Xamarin.Android and I am running into some trouble with getting the sample project up and running. After successfully being able to compile the binding and the sample project, the app crashes upon startup with the following exception:
Java.Lang.NoSuchMethodError: no non-static method "Lcom/google/ar/sceneform/rendering/ModelRenderable$Builder;.setSource(Landroid/content/Context;Landroid/net/Uri;)Ljava/lang/Object;"
And the full stacktrace:
[MonoDroid] UNHANDLED EXCEPTION:
[MonoDroid] Java.Lang.NoSuchMethodError: no non-static method "Lcom/google/ar/sceneform/rendering/ModelRenderable$Builder;.setSource(Landroid/content/Context;Landroid/net/Uri;)Ljava/lang/Object;"
[MonoDroid] at Java.Interop.JniEnvironment+InstanceMethods.GetMethodID (Java.Interop.JniObjectReference type, System.String name, System.String signature) [0x0005b] in <26521a5118b44c858c385715922b9d5d>:0
[MonoDroid] at Com.Kingscode.Template.Droid.MainActivity.OnCreate (Android.OS.Bundle savedInstanceState) [0x0003c] in /Users/patrickva04-21 14:03:27.102 I/MonoDroid(25865): at Java.Interop.JniType.GetInstanceMethod (System.String name, System.String signature) [0x0000c] in <26521a5118b44c858c385715922b9d5d>:0
[MonoDroid] at Java.Interop.JniPeerMembers+JniInstanceMethods.GetMethodInfo (System.String encodedMember) [0x00031] in <26521a5118b44c858c385715922b9d5d>:0
[MonoDroid] at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeAbstractObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00006] in <26521a5118b44c858c385715922b9d5d>:0
[MonoDroid] at Google.AR.Sceneform.Rendering.ModelRenderable+Builder.SetSource (Android.Content.Context context, Android.Net.Uri sourceUri) [0x00053] in <e7d976a890b247818ef976959b28d9a3>:0
[MonoDroid] at crc643c88d44abbfe9d67.Maindewal/Projects/citadel-template/Android/MainActivity.cs:50
[MonoDroid] at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x00011] in /Users/runner/runners/2.165.0/work/1/s/xamarin-android/src/Mono.Android/obj/Release/android-29/mcw/Android.App.Activity.cs:2652
[MonoDroid] at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.7(intptr,intptr,intptr)
[MonoDroid] --- End of managed Java.Lang.NoSuchMethodError stack trace ---
[MonoDroid] java.lang.NoSuchMethodError: no non-static method "Lcom/google/ar/sceneform/rendering/ModelRenderable$Builder;.setSource(Landroid/content/Context;Landroid/net/Uri;)Ljava/lang/Object;"
[MonoDroid] at crc643c88d44abbfe9d67.MainActivity.n_onCreate(Native Method)
[MonoDroid] at crc643c88d44abbfe9d67.MainActivity.onCreate(MainActivity.java:39)
[MonoDroid] at android.app.Activity.performCreate(Activity.java:7817)
[MonoDroid] at android.app.Activity.performCreate(Activity.java:7806)
[MonoDroid] at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1328)
[MonoDroid] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3452)
[MonoDroid] at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3620)
[MonoDroid] at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
[MonoDroid] at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
[MonoDroid] at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2183)
[MonoDroid] at android.os.Handler.dispatchMessage(Handler.java:107)
[MonoDroid] at android.os.Looper.loop(Looper.java:241)
[MonoDroid] at android.app.ActivityThread.main(ActivityThread.java:7617)
[MonoDroid] at java.lang.reflect.Method.invoke(Native Method)
[MonoDroid] at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
[MonoDroid] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
Specifically, it seems it goes wrong in the binding itself.
[Register("setSource", "(Landroid/content/Context;I)Ljava/lang/Object;", "")]
public unsafe global::Google.AR.Sceneform.Rendering.ModelRenderable.Builder SetSource(global::Android.Content.Context context, int resource)
{
const string __id = "setSource.(Landroid/content/Context;I)Ljava/lang/Object;";
try
{
JniArgumentValue* __args = stackalloc JniArgumentValue[2];
__args[0] = new JniArgumentValue((context == null) ? IntPtr.Zero : ((global::Java.Lang.Object)context).Handle);
__args[1] = new JniArgumentValue(resource);
var __rm = _members.InstanceMethods.InvokeAbstractObjectMethod(__id, this, __args);
return global::Java.Lang.Object.GetObject<global::Google.AR.Sceneform.Rendering.ModelRenderable.Builder>(__rm.Handle, JniHandleOwnership.TransferLocalRef);
}
finally
{
}
}
On this line:
var __rm = _members.InstanceMethods.InvokeAbstractObjectMethod(__id, this, __args);
I've been trying to revert to a lower version of the package and the issue still persists. Also, I've been trying to run it on different versions of Android. I've been trying Nougat, Pie and 10. Without success!
Anyone has an idea of how to resolve this issue?
Metadata
Metadata
Assignees
Labels
in-progressWork is in progressWork is in progressin-testneeds-reviewReview requested on code changesReview requested on code changes