报错情况:java.lang.NoClassDefFoundError: org.greenrobot.eventbus.EventBusBuilder
环境描述:android studio 、API 18 、JDK1.8
问题原因:1、 没有注册或者创建EventBus初始化对象。
2、multidex问题。这是因为安卓5.0起MultiDex可以启用。对于设备和虚拟机运行5.0以前的API版本。 Multidex需要用不同的方式被激活。
解决方法:首先 让你的Application类继承MultiDexApplication而不是Application。
例如:
-
public class MyApplication extends MultiDexApplication....
-
// use import android.support.multidex.MultiDexApplication;
扫描二维码关注公众号,回复: 3022533 查看本文章
然后如果你不想改变你原有Oncreate()方法中的业务逻辑,那就加入这段代码
-
@Override
-
protected void attachBaseContext(Context base) {
-
super.attachBaseContext(base);
-
MultiDex.install(AppController.this);
-
}
并在APP build.grdle文件中加入multidex的包
-
compile 'com.android.support:multidex:1.0.1' //dependencies section
-
multiDexEnabled true //in default config
之后clear或者rebuild一下项目。