Meituan-Dianping / Robust

Robust is an Android HotFix solution with high compatibility and high stability. Robust can fix bugs immediately without a reboot.
Apache License 2.0
4.42k stars 807 forks source link

修复完后运行报NoSuchMethodError #285

Closed shashade closed 4 years ago

shashade commented 6 years ago

异常类型:app运行时异常

手机型号:华为v9

手机系统版本:Android 7.0

Robust版本:0.4.82

Gradle版本:4.1

系统:windows

堆栈/日志: System.err: java.lang.NoSuchMethodError: No direct method d()V in class Lcom/zhuoyue/z92waiyu/TestActivityPatch; or its super classes (declaration of 'com.zhuoyue.z92waiyu.TestActivityPatch' appears in /data/user/0/com.zhuoyue.z92waiyu/cache/HotFix/patch_temp.jar) 07-19 17:19:35.855 ? W/System.err: at com.zhuoyue.z92waiyu.TestActivityPatch.RobustPublicshowToast(TestActivityPatch.java) 07-19 17:19:35.855 ? W/System.err: at com.zhuoyue.z92waiyu.TestActivityPatchControl.accessDispatch(PatchTemplate.java) 07-19 17:19:35.855 ? W/System.err: at com.meituan.robust.PatchProxy.accessDispatch(PatchProxy.java:94) 07-19 17:19:35.855 ? W/System.err: at com.meituan.robust.PatchProxy.proxy(PatchProxy.java:44) 07-19 17:19:35.855 ? W/System.err: at com.zhuoyue.z92waiyu.TestActivity.d(TestActivity.java) 07-19 17:19:35.855 ? W/System.err: at com.zhuoyue.z92waiyu.TestActivity.onClick(TestActivity.java:535) 07-19 17:19:35.855 ? W/System.err: at android.view.View.performClick(View.java:5709) 07-19 17:19:35.855 ? W/System.err: at android.view.View$PerformClick.run(View.java:22627) 07-19 17:19:35.855 ? W/System.err: at android.os.Handler.handleCallback(Handler.java:846) 07-19 17:19:35.855 ? W/System.err: at android.os.Handler.dispatchMessage(Handler.java:106) 07-19 17:19:35.855 ? W/System.err: at android.os.Looper.loop(Looper.java:205) 07-19 17:19:35.855 ? W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6753) 07-19 17:19:35.856 ? W/System.err: at java.lang.reflect.Method.invoke(Native Method) 07-19 17:19:35.856 ? W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1216) 07-19 17:19:35.856 ? W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1077)

dlgit88839 commented 5 years ago

解决了吗

jinyindao commented 5 years ago

@shashade 有解决问题吗?我这边运行也遇到这个问题了

guangmomo commented 5 years ago

@mivanzhang 请问有办法解决吗

shashade commented 5 years ago

换个版本

shashade commented 5 years ago

@mivanzhang 请问有办法解决吗

换个版本

mivanzhang commented 5 years ago

@guangmomo 麻烦请把补丁的内容发出来,只是错误的bug,我也看不出来

KidAndroid commented 5 years ago

this error is create patch have not proguard that method,you can see out put dex file, method name in apk dex maby call d(), but at patch dex file maby call getText(), that is why. when minify enable true.

KidAndroid commented 5 years ago

i need help. i had put two file on robust dir, than to create patch.jar. but has methed name different before and after onapk and patch.jar

KidAndroid commented 5 years ago

打包apk的时候混淆,但是 打补丁的时候没有混淆 什么原因