EventBus3.0-混淆

混淆(ProGuard)

ProGuard会把方法名简化和移除没有调用过的方法。因为订阅者的处理方法不是直接调用的,所以ProGuard会导致项目出错。因而如果开发者开启项目混淆,必须让ProGuard保留这个事件处理方法。只要在混淆文件使用以下代码块,就可以保证订阅者的处理方法不会被移除。

-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);
}

你可能感兴趣的:(EventBus官方教程)