如何解决java.lang.NoSuchMethodError在类Ljava.lang.Object中没有名称='getStatusCode'signature ='I'的非静态方法;
在我们的统一游戏中确实为这个错误而苦苦挣扎。我们的游戏有火力发源和GPGS,我们怀疑它们与此有关,但不确定在哪里寻找。
任何人都有类似的想法,或者可以给我们一些关于哪里看或发生什么的指示。 (我无法在Android设备上复制)
托管堆栈跟踪:
java.lang.NoSuchMethodError: no non-static method with name='getStatusCode' signature='()I' in class
Ljava.lang.Object;
com.unity3d.player.ReflectionHelper.getMethodID(Unknown Source)
com.unity3d.player.ReflectionHelper.nativeProxyInvoke(Native Method)
com.unity3d.player.ReflectionHelper.a(Unknown Source)
com.unity3d.player.ReflectionHelper$1.invoke(Unknown Source)
java.lang.reflect.Proxy.invoke(Proxy.java:813)
$Proxy14.onFailure(Unknown Source)
com.google.android.gms.tasks.zzk.run(com.google.android.gms:play-services-tasks@@17.1.0:4)
android.os.Handler.handleCallback(Handler.java:751)
android.os.Handler.dispatchMessage(Handler.java:95)
com.google.android.gms.internal.tasks.zzb.dispatchMessage(com.google.android.gms:play-services-
tasks@@17.1.0:6)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6776)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
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.Boolean isStatic) (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJNIHelper.GetMethodID (System.IntPtr javaClass,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.Boolean isStatic) (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJavaObject._Call[ReturnType] (System.String methodName,System.Object[] args) (at
<00000000000000000000000000000000>:0)
GooglePlayGames.Android.AndroidClient+<>c__DisplayClass49_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.IntPtr jargs) (at <00000000000000000000000000000000>:0)
解决方法
尝试一下:
- 将您的
private static final BATCH_SIZE = 20; // declare at class level Session session = HibernateSessionFactory.getSession(); for(int i=0;i<serviceIds.length;i=i++) { EntityClass ec = new EntityClass (Integer.parseInt(serviceIds[i]),someId3,1,id2,new Timestamp(System.currentTimeMillis()),null,null); session.save(ec); if (i % BATCH_SIZE == 0) { session.flush(); session.clear(); } } session.flush(); session.clear();
库放入jar|arr
。 - 更改Unity配置。
Unity Path:Assets/Plugins/Android/
->Build Settings
,选择Build System
。
当我选择Gradle时,我遇到了与您相同的错误,并且不知道为什么。我什至在路径中有一个gradle文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。