playgameservices / play-games-plugin-for-unity

Google Play Games plugin for Unity
Other
3.43k stars 952 forks source link

Exception: no non-static method with name='getStatusCode' signature='()I' in class Landroid.os.DeadObjectException #3132

Open supersolid-edward-burden opened 2 years ago

supersolid-edward-burden commented 2 years ago

Describe the bug We have been receiving the following exception occasionally on a live game using the play games plugin, the exception seems to be falling through from the plugin and doesn't provide much info for finding the cause. AndroidJavaException: java.lang.NoSuchMethodError: no non-static method with name='getStatusCode' signature='()I' in class Landroid.os.DeadObjectException;

Stack Trace:

java.lang.NoSuchMethodError: no non-static method with name='getStatusCode' signature='()I' in class Landroid.os.DeadObjectException;
com.unity3d.player.ReflectionHelper.getMethodID(Unknown Source:162)
com.unity3d.player.ReflectionHelper.nativeProxyInvoke(Native Method)
com.unity3d.player.ReflectionHelper.a(Unknown Source:0)
com.unity3d.player.ReflectionHelper$1.invoke(Unknown Source:31)
java.lang.reflect.Proxy.invoke(Proxy.java:1006)
$Proxy15.onFailure(Unknown Source)
com.google.android.gms.tasks.zzk.run(com.google.android.gms:play-services-tasks@@17.2.1:1)
android.os.Handler.handleCallback(Handler.java:938)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:246)
android.app.ActivityThread.main(ActivityThread.java:8645)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
UnityEngine.AndroidJNISafe.CheckException () (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJNISafe.CallStaticObjectMethod (System.IntPtr clazz, System.IntPtr methodID, UnityEngine.jvalue[] args) (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidReflection.GetMethodMember (System.IntPtr jclass, System.String methodName, System.String signature, System.Boolean isStatic) (at <00000000000000000000000000000000>:0)
UnityEngine._AndroidJNIHelper.GetMethodID (System.IntPtr jclass, System.String methodName, System.String signature, System.Boolean isStatic) (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJNIHelper.GetMethodID (System.IntPtr javaClass, System.String methodName, System.String signature, System.Boolean isStatic) (at <00000000000000000000000000000000>:0)
UnityEngine._AndroidJNIHelper.GetMethodID[ReturnType] (System.IntPtr jclass, System.String methodName, System.Object[] args, System.Boolean isStatic) (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJNIHelper.GetMethodID[ReturnType] (System.IntPtr jclass, System.String methodName, System.Object[] args, System.Boolean isStatic) (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJavaObject._Call[ReturnType] (System.String methodName, System.Object[] args) (at <00000000000000000000000000000000>:0)
GooglePlayGames.Android.AndroidClient+<>c__DisplayClass57_0.<AddOnFailureListenerWithSignOut>b__0 (UnityEngine.AndroidJavaObject exception) (at <00000000000000000000000000000000>:0)
System.Action`1[T].Invoke (T obj) (at <00000000000000000000000000000000>:0)
GooglePlayGames.Android.AndroidTaskUtils+TaskOnFailedProxy.onFailure (UnityEngine.AndroidJavaObject exception) (at <00000000000000000000000000000000>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <00000000000000000000000000000000>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJavaProxy.Invoke (System.String methodName, System.Object[] args) (at <00000000000000000000000000000000>:0)
UnityEngine._AndroidJNIHelper.InvokeJavaProxyMethod (UnityEngine.AndroidJavaProxy proxy, System.IntPtr jmethodName, System.IntPtr jargs) (at <00000000000000000000000000000000>:0)
Rethrow as TargetInvocationException: GooglePlayGames.Android.AndroidTaskUtils+TaskOnFailedProxy.onFailure(UnityEngine.AndroidJavaObject)
UnityEngine.AndroidJavaProxy.Invoke (System.String methodName, System.Object[] args) (at <00000000000000000000000000000000>:0)
UnityEngine._AndroidJNIHelper.InvokeJavaProxyMethod (UnityEngine.AndroidJavaProxy proxy, System.IntPtr jmethodName, System.IntPtr jargs) (at <00000000000000000000000000000000>:0)

Screenshots users Expection

Versions

Additional context Some logs show the following warning but isn't universal

georgehuan1994 commented 2 years ago

Same problem