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

加载补丁后成功了几次,后面几次无故崩溃了,FBDetailActivity修改了这个界面里的方法 #283

Closed CK875430315 closed 6 years ago

CK875430315 commented 6 years ago

07-18 17:27:12.153 22873-23142/? E/sssss: robustApkHash :694d23fa93f619f8e1523a3973bb57ab 07-18 17:27:12.156 22873-23142/? D/robust: patchManipulate list size is 1 07-18 17:27:12.179 22873-23142/? D/robust: PatchsInfoImpl name:com.dianzhi.xianzhuan.patch.PatchesInfoImpl PatchsInfoImpl ok 07-18 17:27:12.180 22873-23142/? D/robust: current path:com.dianzhi.xianzhuan.activity.FBDetailActivity 07-18 17:27:12.186 22873-23142/? D/robust: oldClass :class com.dianzhi.xianzhuan.activity.FBDetailActivity fields 61 07-18 17:27:12.186 22873-23142/? D/robust: current path:com.dianzhi.xianzhuan.activity.FBDetailActivity find:ChangeQuickRedirect com.dianzhi.xianzhuan.patch.FBDetailActivityPatchControl 07-18 17:27:12.230 22873-23142/? E/robust: patch failed! 07-18 17:27:12.230 22873-23142/? W/System.err: java.lang.ExceptionInInitializerError at java.lang.reflect.Field.set(Native Method) at com.meituan.robust.PatchExecutor.patch(PatchExecutor.java:150) at com.meituan.robust.PatchExecutor.applyPatchList(PatchExecutor.java:63) at com.meituan.robust.PatchExecutor.run(PatchExecutor.java:33) Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.(Handler.java:204) at android.os.Handler.(Handler.java:118) at com.dianzhi.xianzhuan.activity.FBDetailActivity.(FBDetailActivity.java:122) ... 4 more 07-18 17:27:12.230 22873-23142/? D/robust: patch finished 07-18 17:27:12.231 22873-23142/? D/robust: patch LocalPath:/storage/emulated/0/robust/xz_test_1.4.0.jar,apply result true 07-18 17:27:25.463 22873-22873/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.dianzhi.xianzhuan, PID: 22873 java.lang.NoClassDefFoundError: com.dianzhi.xianzhuan.activity.FBDetailActivity at java.lang.Class.newInstance(Native Method) at android.app.Instrumentation.newActivity(Instrumentation.java:1175) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2866) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3053) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1772) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:197) at android.app.ActivityThread.main(ActivityThread.java:7009) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:514) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:837) Caused by: java.lang.ExceptionInInitializerError at java.lang.reflect.Field.set(Native Method) at com.meituan.robust.PatchExecutor.patch(PatchExecutor.java:150) at com.meituan.robust.PatchExecutor.applyPatchList(PatchExecutor.java:63) at com.meituan.robust.PatchExecutor.run(PatchExecutor.java:33) Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.(Handler.java:204) at android.os.Handler.(Handler.java:118) at com.dianzhi.xianzhuan.activity.FBDetailActivity.(FBDetailActivity.java:122) at java.lang.reflect.Field.set(Native Method)  at com.meituan.robust.PatchExecutor.patch(PatchExecutor.java:150)  at com.meituan.robust.PatchExecutor.applyPatchList(PatchExecutor.java:63)  at com.meituan.robust.PatchExecutor.run(PatchExecutor.java:33)  07-18 17:27:25.592 22873-22873/? E/MtaSDK.CaughtExp: MTA has caught the following uncaught exception: java.lang.NoClassDefFoundError: com.dianzhi.xianzhuan.activity.FBDetailActivity at java.lang.Class.newInstance(Native Method) at android.app.Instrumentation.newActivity(Instrumentation.java:1175) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2866) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3053) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1772) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:197) at android.app.ActivityThread.main(ActivityThread.java:7009) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:514) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:837) Caused by: java.lang.ExceptionInInitializerError at java.lang.reflect.Field.set(Native Method) at com.meituan.robust.PatchExecutor.patch(PatchExecutor.java:150) at com.meituan.robust.PatchExecutor.applyPatchList(PatchExecutor.java:63) at com.meituan.robust.PatchExecutor.run(PatchExecutor.java:33) Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.(Handler.java:204) at android.os.Handler.(Handler.java:118) at com.dianzhi.xianzhuan.activity.FBDetailActivity.(FBDetailActivity.java:122) at java.lang.reflect.Field.set(Native Method)  at com.meituan.robust.PatchExecutor.patch(PatchExecutor.java:150)  at com.meituan.robust.PatchExecutor.applyPatchList(PatchExecutor.java:63)  at com.meituan.robust.PatchExecutor.run(PatchExecutor.java:33)  App uncaught exception end.

cyforever123 commented 5 years ago

我也遇到这个问题,请问如何解决的