Eventbus: org.greenrobot.eventbus.EventBusException:订阅者类 XXX 及其超类没有带有 @Subscribe 注释的公共方法

创建于 2016-08-05  ·  12评论  ·  资料来源: greenrobot/EventBus

我正在尝试在我的项目中使用 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 删除了这些方法?

所有12条评论

您是否使用 Proguard 删除了这些方法?

建议先确定活动的先后顺序和报名是否正确

@william-ferguson-au 是的,Proguard 是原因,修改 Proguard 配置后,它现在可以工作了。 谢谢!

@van048谢谢,问题现在解决了。

我也遇到这个问题,不知道如何解决。你能教我如何解决这个问题吗? 谢谢 !

@wuzhaohui026请参考此链接: http ://greenrobot.org/eventbus/documentation/proguard/

只需按照说明进行操作,您就可以设置好,欢迎回到我这里来解决任何进一步的问题。

谢谢你 。 但我没有做 ProGuard 混淆方法。我试过但也有问题

@wuzhaohui026你确定你的问题和我的一样吗? 您尝试集成 EventBus 的过程是什么?

好的。我已经解决了我的问题。 我弄错了。谢谢你的帮助。(PS:其实我英语不太好,哈哈。)

@wuzhaohui026很高兴你解决了。

我遇到了同样的问题,尽管错误仍然存​​在并且我正在使用 androidx,但我已经编写了文档中给出的 proguard 规则。

请提出解决方案。

@harshsingh98请在 #586 中分享更多详细信息。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

liaohuyu picture liaohuyu  ·  4评论

DavidEdwards picture DavidEdwards  ·  11评论

bdeneuter picture bdeneuter  ·  3评论

lalit3686 picture lalit3686  ·  9评论

cckroets picture cckroets  ·  16评论