本文共 526 字,大约阅读时间需要 1 分钟。
该问题是因为Debug版本未添加 EventBus的混淆,而Release版本添加 了EventBus的混淆导致的。
解决方法:
添加EventBus混淆规则。ProGuard工具混淆了方法名,并可能移除那些未被调用的方法。订阅者的事件处理方法没有被直接调用,如果开启了ProGuard工具的压缩功能,那么你必须告诉ProGuard工具保留这些订阅者方法。在模块的 混淆规则文件中添加如下规则:# 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 { (java.lang.Throwable);}
转载地址:http://qczqi.baihongyu.com/