Tencent / tinker

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
Other
17.17k stars 3.34k forks source link

NoSuchMethodError:No static method ()F in class F or its super classes #1116

Open BurtkaWang opened 5 years ago

BurtkaWang commented 5 years ago

异常类型:app运行时异常

手机型号:vivo X9 OPPO R11

手机系统版本:7.x & 8.x

tinker版本: 1.9.8

gradle版本: 3.1.4

是否使用热更新SDK: TinkerPatch SDK

系统:如:Mac

堆栈/日志:

Caused by: java.lang.NoSuchMethodError:No static method ()F in class F or its super classes (declaration of 'float' appears in generated class)
1 | at xx.xx.xx.common.proxy.j.a(SourceFile:79)
2 | at xx.xx.xx.business.index.util.w.b(SourceFile:100)
3 | at xx.xx.xx.business.index.ask.AskManager.c(SourceFile:276)
4 | at xx.xx.xx.business.index.fragment.NewIndexFragment.onResumeProxy(SourceFile:893)
5 | at xx.xx.xx.business.index.fragment.NewIndexFragment.onResume(SourceFile:838)
6 | at android.support.v4.app.Fragment.performResume(SourceFile:2294)

对线上基准包 进行 Tinker热修复,第一次修复成功没有问题,第二次修改了 上述代码中 common.proxy.j 这个文件 仅仅删除了 一句import 语句,对其他业务逻辑没有任何影响,在测试机上验证没有问题,但是修复上线后,crash直线上升,报上述错误。然后对 common.proxy.j 文件进行回滚,继续进行线上修复,上线后crash仍然直线上升,还是报上述错误。

有哪位大神 出现过类似的问题 有什么解决方案?

BurtkaWang commented 5 years ago

删除了一句

import android.util.Log;
tys282000 commented 5 years ago

可能是二次patch的时候命中tinker的bug提前删除了第一次的patch,就会随机出现这种crash。试试升级到1.9.13.2看看还有没有问题吧。