错误信息:

Caused by: c.a.a.g: Subscriber class XXXActivity has no public methods called onEvent.

造成这个错误的原因有两个:

A:接受Event的页面,写了EventBus.getDefualt().register(this),但是在这个页面里却没有定义一个以 onEvent开头的、非静态的、public权限以及仅仅只有一个参数 的方法,也就是没有类似于:public void onEvent**(Object arg)这样的方法。

解决办法很简单,查看下该页面是否有必要onEvent**(Object arg)方法即可。PS:只有在需要接收EventBus消息的页面,你才去注册EventBus.getDefault().register(this),并且复写一个onEvent开头的公共的方法,如果你仅仅是单纯的发送消息EventBus.getDefault().post(bean); 是不需要注册的。

B: 如果检查发现确实写了onEvent**(Object arg)方法,但是还是报错,或者是debug包的时候是正常的,Release包却崩溃了,那原因就是混淆的原因

解决办法:在你的混淆文件忽略混淆onEvent的相关即可,不同的版本的混淆方式可能有点差别,根据你的eventBus版本去查对应的混淆方法。(EventBus github地址)

举例:EventBus 2.4 的混淆方法:

-keep class de.greenrobot.event.** {*;}
-keepclassmembers class ** {public void onEvent*(**);void onEvent*(**);
}

EventBus 3.0 的混淆方法:

-keepattributes *Annotation*
-keepclassmembers class * {@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }# And if you use AsyncExecutor:
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {<init>(java.lang.Throwable);
}

至此问题解决。以后遇到debug包正常,Release包却崩溃或者不正常的问题,大多都是混淆的原因。

每日语录:新的一年,新的开始,一切都有可能,所以给自己定个小目标吧,不管能不能实现,首先先把Flag立起来。

我希望新的一年,可以多存钱,可以把日语的N2考过去,学个驾照,当然技术方面也是要提升。加油!!!

单曲循环《三角志》

Android EventBus Subscriber class XXXActivity has no public methods called onEvent相关推荐

  1. EventBus: Subscriber class XXX and its super classes have no public method with the @Subscribe

    踩坑错误记录 在做安卓项目的时候,要使用实现在Fragment之间传数据,故使用EventBus,但遇到一个错误: org.greenrobot.eventbus.EventBusException: ...

  2. Android -- EventBus使用

    EventBus EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间的通信.比如请求网络,等网络返回时通过Handler ...

  3. android EventBus的简单使用

    今天,简单讲讲Android里关于EventBus的使用. 这几天,由于面试的缘故,我听到了很多Android的流行框架,但是之前自己在公司做APP时并没有使用,所以没有了解.于是在网上查找了资料,学 ...

  4. android EventBus的简单使用

    今天,简单讲讲Android里关于EventBus的使用. 这几天,由于面试的缘故,我听到了很多Android的流行框架,但是之前自己在公司做APP时并没有使用,所以没有了解.于是在网上查找了资料,学 ...

  5. Android—EventBus使用与源码分析

    EventBus 安卓事件发布/订阅框架 事件传递既可用于Android四大组件间通讯 EventBus的优点是代码简洁,使用简单,并将事件发布和订阅充分解耦 在onStart进行注册,onStop进 ...

  6. Subscriber class .NewsFragment and its super classes have no public methods

    使用EventButs3.0.0 出现以下错误 Caused by: de.greenrobot.event.EventBusException: Subscriber class com.gozap ...

  7. Android EventBus

    Android EventBus 1.Eventbus工作流程 2.导入EventBus库 implementation 'org.greenrobot:eventbus:3.1.1' 3.角色分配 ...

  8. Subscriber class XXX and its super classes have no public methods with the @Subscribe annotation

    Caused by: org.greenrobot.eventbus.EventBusException: Subscriber class com.pdxx.yxzp.main.student.ex ...

  9. AndroidStudio EventBus报错解决方法its super classes have no public methods with the @Subscribe

    AndroidStudio EventBus报错解决方法its super classes have no public methods with the @Subscribe 参考文章: (1)An ...

最新文章

  1. Intel SGX Remote Attestation实例代码安装和执行,笔记
  2. Jmeter 生成HTML性能测试报告
  3. 无法将 DBNull.Value 强制转换为类型“System.DateTime”。请使用可空类型
  4. 怎么让队友变成绿色的名字_“吃鸡”进入游戏后,发现队友在玩手机,他到底是怎么做到的?...
  5. 链接与加载过程中,几个关键的概念
  6. Spring实战——Profile
  7. intra-mart
  8. 用友服务器ip地址在哪里修改密码,用友服务器ip地址在哪里修改密码
  9. 5、手把手教React Native实战之盒子模型BoxApp
  10. java web登录代码_Java Web 登录页面的实现代码实例
  11. 城市智慧停车管理模式方案科普
  12. 计算机桌面不显示时间,win7电脑不显示时间怎么办|win7电脑不显示时间的恢复方法...
  13. 史上最全recyclewView集合,下拉刷新,上拉加载,左滑删除,点击按钮滑动到指定位置
  14. Sql STUFF 用法
  15. JAVA高并发学习笔记(二) 多线程基础
  16. 东华大学计算机博士毕业要求,东华大学研究生在学期间发表学术论文要求的暂行规定(修订)...
  17. [渝粤教育] 天津科技大学 化工开发与创新实验 参考 资料
  18. iOS底层原理之架构设计
  19. Java2EE体系结构图
  20. css效果之吸顶效果

热门文章

  1. 入门学习UI设计有哪些就业方向?
  2. 社团c语言程序设计,C语言课程设计-大学社团管理系统.doc
  3. c语言动态图形代码 叮当猫,C语言制作图形马赛克处理技术,网友:这小子不进腾讯可惜了!-Go语言中文社区...
  4. element el-input特殊字符校验
  5. AndroidStudio合并冲突失败,总在merging状态
  6. 利用arcgis进行excel数据的空间相关性分析
  7. Android7.0(mtk)开放root权限,adb root和app root
  8. latex公式换行后保证括弧大小相同
  9. Vue组件选项props
  10. C#:实现公历转农历算法(附完整源码)