构建proj时的EventBus异常 - Subscriber类没有名为onEvent的公共方法

Teo*_*nke 3 android event-bus greenrobot-eventbus

所以,我的应用程序从/向我的MainActivity交换消息到/从后台服务,我使用EventBus来处理它.我正在注册这两个组件

EventBus.getDefault().register(this);
Run Code Online (Sandbox Code Playgroud)

在他们的onCreates.我正在发送/接收一个活动:

EventBus.getDefault().post(new MyMessagePojo("message"));
Run Code Online (Sandbox Code Playgroud)

public void onEvent(MyMessagePojo event) { ... }
Run Code Online (Sandbox Code Playgroud)

当我将项目从AndroidStudio运行到我的测试手机时,一切正常.但是,当我生成签名的APK时,我安装了应用程序并遇到以下异常崩溃:

Subscriber class my.package.MainActivity has no public methods called onEvent
Run Code Online (Sandbox Code Playgroud)

它显然有的地方.我尝试将其更改onEventonEventMainThread我的MainActivity,但没有成功.这是非常令人沮丧的,因为我即将发布应用程序,现在我无法解决这个问题.

我已经通过这个这个,但他们都没有帮助.

有任何想法吗?

han*_*luc 18

这是在EventBus HOWTO文档中解决的. https://github.com/greenrobot/EventBus/blob/master/HOWTO.md

使用以下代码仅保留onEvent函数.

-keepclassmembers class ** {
    public void onEvent*(**);
}
Run Code Online (Sandbox Code Playgroud)