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

    xiaoxiao2025-08-04  17

    报错情况: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共享类似地址。

                    

    转载请注明原文地址: https://ju.6miu.com/read-1301387.html
    最新回复(0)