de.greenrobot:eventbus:3.0.0-beta1混淆的坑

项目中已经集成EventBus3.0-beta测试版,没去更新正式版,混淆出现上面的bug

  • Markdown和扩展Markdown简洁的语法
  • Caused by: de.greenrobot.event.e: Subscriber class com.klsw.betterlive.module.login.StartActivity and its super classes have no public methods with the @Subscribe annotation

  • 网上找了混淆的方法,听说是官网的,然并卵

  • -keepattributes *Annotation*
    -keepclassmembers class ** {
    @org.greenrobot.eventbus.Subscribe <methods>;
    }
    -keep enum org.greenrobot.eventbus.ThreadMode { *; }
    -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
    }

最后经过多次对比发现,原来是多个版本的包名不一致,我能怎么办,你们这是要闹那般?

beta1版本的包名:de.greenrobot.even
而正是3.0版本的包名是:org.greenrobot.eventbus

不能不感叹老外的思维真伟大。我算是服了。。。

最后把混淆保留代码改过来一切正常了:

-keepattributes *Annotation*
-keepclassmembers class ** {
    @de.greenrobot.event.Subscribe <methods>;
}
-keep enum de.greenrobot.event.ThreadMode { *; }
# Only required if you use AsyncExecutor
-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent {
    <init>(Java.lang.Throwable);
}

-keepclassmembers class ** {
    public void onEvent*(**);
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值