我正在尝试在我的项目中使用 EventBus,但是在尝试让我的应用程序运行时,我遇到了 EventBus 抛出的一个奇怪异常。
案例是我在自定义视图中使用 EventBus,我在onAttachToWindow()
方法中注册 EventBus 并在onDetachFromWindow()
方法中取消注册它。 然后我创建了一个这样的方法:
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventReceived(MessageEvent event) {
//TODO
}
问题是当我运行应用程序时,抛出了一个非常奇怪的异常:
org.greenrobot.eventbus.EventBusException: Subscriber class XXX and its super classes have no public methods with the <strong i="12">@Subscribe</strong> annotation
有人能帮忙吗? 欢迎任何建议。
您是否使用 Proguard 删除了这些方法?
建议先确定活动的先后顺序和报名是否正确
@william-ferguson-au 是的,Proguard 是原因,修改 Proguard 配置后,它现在可以工作了。 谢谢!
@van048谢谢,问题现在解决了。
我也遇到这个问题,不知道如何解决。你能教我如何解决这个问题吗? 谢谢 !
@wuzhaohui026请参考此链接: http ://greenrobot.org/eventbus/documentation/proguard/
只需按照说明进行操作,您就可以设置好,欢迎回到我这里来解决任何进一步的问题。
谢谢你 。 但我没有做 ProGuard 混淆方法。我试过但也有问题
@wuzhaohui026你确定你的问题和我的一样吗? 您尝试集成 EventBus 的过程是什么?
好的。我已经解决了我的问题。 我弄错了。谢谢你的帮助。(PS:其实我英语不太好,哈哈。)
@wuzhaohui026很高兴你解决了。
我遇到了同样的问题,尽管错误仍然存在并且我正在使用 androidx,但我已经编写了文档中给出的 proguard 规则。
请提出解决方案。
@harshsingh98请在 #586 中分享更多详细信息。
最有用的评论
您是否使用 Proguard 删除了这些方法?