开发者社区 问答 正文

EMAS中我想问一下,我们使用了热修复功能,现在在 7.0 和 8.0 机型上出现了这个崩溃,有遇?

EMAS中我想问一下,我们使用了热修复功能,现在在 7.0 和 8.0 机型上出现了这个崩溃,有遇到过这个崩溃吗?什么原因导致的?Thread Name: 'main' Back traces starts. java.lang.AssertionError: illegal type variable reference at libcore.reflect.TypeVariableImpl.resolve(TypeVariableImpl.java:111) at libcore.reflect.TypeVariableImpl.getGenericDeclaration(TypeVariableImpl.java:125) at libcore.reflect.TypeVariableImpl.hashCode(TypeVariableImpl.java:47) at java.util.Arrays.hashCode(Arrays.java:4074) at com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl.hashCode(.java:502) at com.google.gson.reflect.TypeToken.(TypeToken.java:64) at com.gxd.basic.utils.SPUtils$3.(SPUtils.java:451) at com.gxd.basic.utils.SPUtils.getSet(SPUtils.java:451)

展开
收起
真的很搞笑 2023-06-05 16:46:16 138 分享 版权
1 条回答
写回答
取消 提交回答
  • 这个崩溃可能是由于使用了热修复导致的,具体原因需要在代码中进行排查。根据堆栈信息,可以看到问题出现在SPUtils的getSet方法中。可能是对TypeToken进行了反序列化,而TypeToken中使用了TypeVariable,导致出现了illegal type variable reference的错误。解决这个问题的方法可能是避免使用TypeToken进行反序列化,或者对TypeToken中使用的TypeVariable进行修改。建议使用MAT等工具进一步分析堆转储文件,查看具体的对象引用关系,找到问题的根源。

    2023-06-06 09:20:56
    赞同 展开评论