关于使用eventbus引发的NoClassDefFoundError问题解决方案

报错情况: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;

                  然后如果你不想改变你原有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一下项目。


http://blog.csdn.net/t12x3456/article/details/40837287共享类似地址。

                

你可能感兴趣的:(关于使用eventbus引发的NoClassDefFoundError问题解决方案)