昨天被一个问题坑住了,
- java.lang.RuntimeException: Unable to start activity ComponentInfo
{com.iflytek.mea.vbgvideo/com.iflytek.mea.vbgvideo.activity.MyOrderActivity}:
org.greenrobot.eventbus.EventBusException: Subscriber class
com.iflytek.mea.vbgvideo.activity.MyOrderActivity and its super
classes have no public methods with the @Subscribe annotation
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2678)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2747)
at android.app.ActivityThread.access 900(ActivityThread.java:187)atandroid.app.ActivityThread H.handleMessage(ActivityThread.java:1585)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5871)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1119)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:885) Caused by: org.greenrobot.eventbus.EventBusException: Subscriber
class com.iflytek.mea.vbgvideo.activity.MyOrderActivity and its
super classes have no public methods with the @Subscribe annotation
at org.greenrobot.eventbus.l.a(Unknown Source)
at org.greenrobot.eventbus.c.a(Unknown Source)
at com.iflytek.mea.vbgvideo.activity.MyOrderActivity.onCreate(Unknown
Source)
at android.app.Activity.performCreate(Activity.java:6127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2631)
… 10 more
试了几个手机,发现只有我的debug版本正常,打的release版本都有问题,
恍然发现 我的eventbus没有加混淆配置,加上以下配置就解决了,
混淆eventbus配置
-keepattributes Annotation
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe ; }
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
# Only required if you use AsyncExecutor
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
<init>(java.lang.Throwable); }