因此,我的应用程序在后台服务之间/到主活动之间交换消息,我使用EventBus来处理这个问题。我在注册两个组件

EventBus.getDefault().register(this);

在他们的创造上。我正在发送/接收一个事件:
EventBus.getDefault().post(new MyMessagePojo("message"));


public void onEvent(MyMessagePojo event) { ... }

当我运行从我的androidstudio到我的测试手机的项目时,一切都很好。但是,当我生成签名的apk时,我安装了应用程序,并出现了一个崩溃,出现以下异常:
Subscriber class my.package.MainActivity has no public methods called onEvent

很明显的。我试图在我的主要活动中将它从onEvent改为onEventMainThread,但没有成功。这是相当令人沮丧的,因为我正要发布应用程序,现在我无法解决这个问题。
我经历过thisthis但他们没有帮助。
有什么想法吗?

最佳答案

这在eventbus howto文档中有说明。
https://github.com/greenrobot/EventBus/blob/master/HOWTO.md
使用下面的代码只保留onevent函数。

-keepclassmembers class ** {
    public void onEvent*(**);
}

10-05 22:12