RocooFix icon indicating copy to clipboard operation
RocooFix copied to clipboard

项目中包含枚举类,运行项目时候依然会出现crash,麻烦给看看

Open Caryyyy opened this issue 8 years ago • 7 comments

06-06 19:36:17.650 17769-17769/com.hotfix.hotfixdemo E/dalvikvm: Could not find class 'com.dodola.rocoo.Hack', referenced from method com.android.tools.fd.runtime.BootstrapApplication. 06-06 19:36:17.660 17769-17769/com.hotfix.hotfixdemo E/dalvikvm: Could not find class 'com.dodola.rocoo.Hack', referenced from method com.android.tools.fd.runtime.BootstrapApplication$1. 06-06 19:36:17.680 17769-17769/com.hotfix.hotfixdemo E/AndroidRuntime: FATAL EXCEPTION: main java.lang.ExceptionInInitializerError at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1319) at android.app.Instrumentation.newApplication(Instrumentation.java:997) at android.app.Instrumentation.newApplication(Instrumentation.java:982) at android.app.LoadedApk.makeApplication(LoadedApk.java:496) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201) at android.app.ActivityThread.access$1300(ActivityThread.java:140) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4898) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NoClassDefFoundError: com.dodola.rocoo.Hack at com.android.tools.fd.runtime.BootstrapApplication$1.(BootstrapApplication.java:69) at com.android.tools.fd.runtime.BootstrapApplication.(BootstrapApplication.java:68) at java.lang.Class.newInstanceImpl(Native Method)  at java.lang.Class.newInstance(Class.java:1319)  at android.app.Instrumentation.newApplication(Instrumentation.java:997)  at android.app.Instrumentation.newApplication(Instrumentation.java:982)  at android.app.LoadedApk.makeApplication(LoadedApk.java:496)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)  at android.app.ActivityThread.access$1300(ActivityThread.java:140)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:4898)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:511)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)  at dalvik.system.NativeStart.main(Native Method) 

Caryyyy avatar Jun 06 '16 11:06 Caryyyy

@dodola 我已经尝试使用了最新代码,并且在项目中加入了以下防混淆的代码 -keep class com.dodola.rocoofix.* {;} -keep class com.lody.legend.* {;}

但是依然会崩溃

Caryyyy avatar Jun 06 '16 11:06 Caryyyy

@dodola 你可以尝试在application中初始化一个枚举类试试看,我说的情况

Caryyyy avatar Jun 06 '16 11:06 Caryyyy

06-06 19:20:32.825 9020-9020/com.demo E/dalvikvm: Could not find class 'com.dodola.rocoo.Hack', referenced from method com.demo.RecordingImplType. 06-06 19:20:32.830 9020-9020/com.demo E/AndroidRuntime: FATAL EXCEPTION: main java.lang.ExceptionInInitializerError at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1319) at android.app.Instrumentation.newApplication(Instrumentation.java:997) at android.app.Instrumentation.newApplication(Instrumentation.java:982) at android.app.LoadedApk.makeApplication(LoadedApk.java:496) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201) at android.app.ActivityThread.access$1300(ActivityThread.java:140) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4898) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ExceptionInInitializerError at com.demo.context.MyApplication.(MyApplication.java:96) at java.lang.Class.newInstanceImpl(Native Method)  at java.lang.Class.newInstance(Class.java:1319)  at android.app.Instrumentation.newApplication(Instrumentation.java:997)  at android.app.Instrumentation.newApplication(Instrumentation.java:982)  at android.app.LoadedApk.makeApplication(LoadedApk.java:496)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)  at android.app.ActivityThread.access$1300(ActivityThread.java:140)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:4898)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:511)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)  at dalvik.system.NativeStart.main(Native Method)  Caused by: java.lang.NoClassDefFoundError: com.dodola.rocoo.Hack at com.demo.RecordingImplType.(RecordingImplType.java:13) at com.demo.RecordingImplType.(RecordingImplType.java:5) at com.demo.MyApplication.(MyApplication.java:96)  at java.lang.Class.newInstanceImpl(Native Method)  at java.lang.Class.newInstance(Class.java:1319)  at android.app.Instrumentation.newApplication(Instrumentation.java:997)  at android.app.Instrumentation.newApplication(Instrumentation.java:982)  at android.app.LoadedApk.makeApplication(LoadedApk.java:496)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)  at android.app.ActivityThread.access$1300(ActivityThread.java:140)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:4898)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:511)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)  at dalvik.system.NativeStart.main(Native Method)  06-06 19:33:32.040 11883-11883/com.demo E/dalvikvm: Could not find class 'com.dodola.rocoo.Hack', referenced from method com.demo.RecordingImplType. 06-06 19:33:32.045 11883-11883/demo E/AndroidRuntime: FATAL EXCEPTION: main java.lang.ExceptionInInitializerError at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1319) at android.app.Instrumentation.newApplication(Instrumentation.java:997) at android.app.Instrumentation.newApplication(Instrumentation.java:982) at android.app.LoadedApk.makeApplication(LoadedApk.java:496) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201) at android.app.ActivityThread.access$1300(ActivityThread.java:140) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4898) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ExceptionInInitializerError at com.demo.MyApplication.(MyApplication.java:96) at java.lang.Class.newInstanceImpl(Native Method)  at java.lang.Class.newInstance(Class.java:1319)  at android.app.Instrumentation.newApplication(Instrumentation.java:997)  at android.app.Instrumentation.newApplication(Instrumentation.java:982)  at android.app.LoadedApk.makeApplication(LoadedApk.java:496)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)  at android.app.ActivityThread.access$1300(ActivityThread.java:140)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:4898)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:511)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)  at dalvik.system.NativeStart.main(Native Method)  Caused by: java.lang.NoClassDefFoundError: com.dodola.rocoo.Hack at com.demo.RecordingImplType.(RecordingImplType.java:13) at com.demo.RecordingImplType.(RecordingImplType.java:5) at com.demo.MyApplication.(MyApplication.java:96)  at java.lang.Class.newInstanceImpl(Native Method)  at java.lang.Class.newInstance(Class.java:1319)  at android.app.Instrumentation.newApplication(Instrumentation.java:997)  at android.app.Instrumentation.newApplication(Instrumentation.java:982)  at android.app.LoadedApk.makeApplication(LoadedApk.java:496)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)  at android.app.ActivityThread.access$1300(ActivityThread.java:140)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:4898)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:511)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)  at dalvik.system.NativeStart.main(Native Method)  06-06 19:34:41.300 14511-14511/com.demo E/dalvikvm: Could not find class 'com.dodola.rocoo.Hack', referenced from method com.demo.RecordingImplType. 06-06 19:34:41.300 14511-14511/com.demo E/AndroidRuntime: FATAL EXCEPTION: main java.lang.ExceptionInInitializerError at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1319) at android.app.Instrumentation.newApplication(Instrumentation.java:997) at android.app.Instrumentation.newApplication(Instrumentation.java:982) at android.app.LoadedApk.makeApplication(LoadedApk.java:496) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201) at android.app.ActivityThread.access$1300(ActivityThread.java:140) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4898) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ExceptionInInitializerError at com.demo.MyApplication.(MyApplication.java:96) at java.lang.Class.newInstanceImpl(Native Method)  at java.lang.Class.newInstance(Class.java:1319)  at android.app.Instrumentation.newApplication(Instrumentation.java:997)  at android.app.Instrumentation.newApplication(Instrumentation.java:982)  at android.app.LoadedApk.makeApplication(LoadedApk.java:496)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)  at android.app.ActivityThread.access$1300(ActivityThread.java:140)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:4898)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:511)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)  at dalvik.system.NativeStart.main(Native Method)  Caused by: java.lang.NoClassDefFoundError: com.dodola.rocoo.Hack at com.demo.RecordingImplType.(RecordingImplType.java:13) at com.demo.RecordingImplType.(RecordingImplType.java:5) at com.demo.MyApplication.(MyApplication.java:96)  at java.lang.Class.newInstanceImpl(Native Method)  at java.lang.Class.newInstance(Class.java:1319)  at android.app.Instrumentation.newApplication(Instrumentation.java:997)  at android.app.Instrumentation.newApplication(Instrumentation.java:982)  at android.app.LoadedApk.makeApplication(LoadedApk.java:496)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)  at android.app.ActivityThread.access$1300(ActivityThread.java:140)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:137)  at android.app.ActivityThread.main(ActivityThread.java:4898)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:511)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)  at dalvik.system.NativeStart.main(Native Method) 

Caryyyy avatar Jun 06 '16 11:06 Caryyyy

@dodola 以上的日志是另外一个项目也有这个问题,麻烦看看

Caryyyy avatar Jun 06 '16 11:06 Caryyyy

没有枚举也有同样的 crash “Could not find class 'com.dodola.rocoo.Hack”

joure avatar Jun 08 '16 02:06 joure

我也遇到了这个问题。这个怎么处理啊。一开始好好的,然后突然就找不到这个类

505239375 avatar Jun 12 '16 05:06 505239375

我也同样遇到了这个问题,@dodola 的demo都是好的,自己集成就有这个问题了.

daixiansen avatar Jun 13 '16 07:06 daixiansen