Eventbus Subscriber class ***and its super classes have no public methods with the @Subscribe annotation
去网上搜了一下说是 大概有两种情况
1.没有在回调方法onEvent上加@Subscriber注解
// @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void onEvent(Map map) {}
2.onEvent 方法不是public
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
protected void onEvent(Map map) {}
如果你的onEvent回调方法有注解并且方法是public,但是加了混淆,他依然也会报这个错误
在proguard-rules.pro 文件中加上如下代码
-keepclassmembers class ** {
public void onEvent*(**);
}
记录一下 这个奇怪的问题
本文详细解析了在使用EventBus时遇到的回调方法未被识别的问题,包括未正确使用@Subscribe注解、方法访问级别不为public以及混淆配置不当等情况,并提供了相应的解决策略。
1万+

被折叠的 条评论
为什么被折叠?



