【发布时间】:2015-06-16 20:46:03
【问题描述】:
因此,我的应用程序在 MainActivity 与后台服务之间交换消息,我使用 EventBus 来处理它。我正在使用
注册这两个组件EventBus.getDefault().register(this);
在他们的 onCreates 上。我正在发送/接收一个事件:
EventBus.getDefault().post(new MyMessagePojo("message"));
和
public void onEvent(MyMessagePojo event) { ... }
当我将项目从我的 AndroidStudio 运行到我的测试手机时,一切正常。但是,当我生成签名的 APK 时,我安装了该应用程序并出现了崩溃,并出现以下异常:
Subscriber class my.package.MainActivity has no public methods called onEvent
它显然在哪里。我尝试在我的 MainActivity 中将其从 onEvent 更改为 onEventMainThread 但没有成功。很沮丧,因为我正要发布应用程序,现在我无法解决这个问题。
有什么想法吗?
【问题讨论】:
-
您的 ProGuard 配置可能正在重命名
onEvent(),因为它认为重命名是安全的。调整项目的 ProGuard 配置以保持该方法不变。 -
您对此有任何说明/参考吗?我对 ProGuard 配置还不是很熟悉
-
什么意思?最后我只是关掉了proguard,好像没什么大的区别。
标签: android event-bus greenrobot-eventbus