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

来源:互联网 发布:大数据前沿技术与应用 编辑:程序博客网 时间:2024/05/21 01:47

报错情况: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()方法中的业务逻辑,那就加入这段代码

@Overrideprotected void attachBaseContext(Context base) {    super.attachBaseContext(base);    MultiDex.install(AppController.this);}
                  并在APP build.grdle文件中加入multidex的包

compile 'com.android.support:multidex:1.0.1' //dependencies sectionmultiDexEnabled true //in default config
                      之后clear或者rebuild一下项目。


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

                

0 0
原创粉丝点击