【发布时间】:2022-01-17 14:31:47
【问题描述】:
我正在使用 kotlin 开发一个 android 应用程序,到目前为止一切都很好,因为我在某些 android 设备上遇到了 java.lang.IllegalArgumentException: Invalid primitive conversion from long to int 异常。
该异常仅在应用程序的发布版本中发生,不幸的是,我不知道如何调试或正确分析堆栈跟踪以了解确切的问题。
堆栈跟踪如下:
java.lang.IllegalArgumentException: Invalid primitive conversion from long to int
at java.lang.reflect.Field.getInt(Field.java)
at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:946)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:360)
at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1384)
at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
at android.os.Parcel.writeSerializable(Parcel.java:1463)
at android.os.Parcel.writeValue(Parcel.java:1416)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:686)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1376)
at android.os.Bundle.writeToParcel(Bundle.java:1079)
at android.os.Parcel.writeBundle(Parcel.java:711)
at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:3216)
at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3496)
at android.os.Handler.handleCallback(Handler.java:742)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5653)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:746)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
任何帮助将不胜感激。
【问题讨论】:
-
可以分享代码吗?
-
你能附上java文件吗,它看起来像一个java错误,可能在java代码的某个地方,它试图以错误的方式int cast a long。
-
@SujalKumar 不知道是哪部分代码导致问题分享出来。
-
@moghaf 如果你附加你的 kotlin 类会很有帮助,如果没有看到任何代码就很难提供帮助。
-
@SujalKumar 您禁用 proguard 的解决方案导致我一一删除 proguard 行(在库排除没有解决问题之后)以测试它是否开始工作并且是的它工作。谢谢。