2 qq 30339955 qq_30339955 于 2016.01.26 09:25 提问

安卓 eventbus打包时报错????

a.a.a.g: Subscriber class com.winway.ui.MainActivity has no methods called onEvent
mainactivity是有这个方法的,急求各位,有遇到这个问题的没有?

2个回答

leilba
leilba   Rxr 2016.01.26 09:37

打包的时候加了代码混淆是吧?建议对eventbus的混淆部分处理一下,
网上扒了一个方法,在proguard-project.txt中添加一下:
-libraryjars libs/eventbus-1.0.1.jar
-keepclassmembers class ** {
public void onEvent*(**);
}
-keepclassmembers class ** {
public void xxxxxx(**); //所有监听的方法都要列在这里
}

也可以看一下这两个文章(关键词搜索到的):
http://my.oschina.net/janson2013/blog/417073
http://blog.csdn.net/lovexjyong/article/details/24652085
祝你解决问题

leilba
leilba 回复Activity_菜鸟: 你如果配置了混淆的话,那么混淆会在打包的时候调用,混淆成功了的话打包生成的apk包会比debug生成的临时包要小一些,而且反编译后拿到的源码会变得很难读,,一般混淆会将变量名和方法名该成a,b,c这种不明意思的东西
接近 2 年之前 回复
qq_30339955
qq_30339955 你好,我是菜鸟一枚。照提供的方法添加了,还是没有解决。想请教下怎么看到我的代码混淆成功了?
接近 2 年之前 回复
sinat_29360803
sinat_29360803   2017.11.21 11:25

感谢你的方法,我是这样的

EventBus

-keepattributes Annotation
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe ;
}
-keep enum org.greenrobot.eventbus.ThreadMode { ; }
-keepclassmembers class *
{
public void onEvent*(**);
}
-keepclassmembers class ** {
public void onEventMainThread(**);
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!