美文网首页
Android 出现java.lang.NoClassDefFo

Android 出现java.lang.NoClassDefFo

作者: 零宽度接合 | 来源:发表于2017-02-24 15:09 被阅读35次

    在defaultConfigz中已经声明了multiDexEnabled true,当方法数超过65535时便会自动打出两个Dex包命名为classes.dexclasses2.dex,一些方法被打入了第二个dex包,即classes2.dex中,导致了5.0以下机型无法运行应用报错。

    下面是解决方案:

    1.在defaultConfig中已经声明multiDexEnabled true用于启用MultiDex

    2.在依赖中添加compile 'com.android.support:multidex:1.0.1'支持包用于5.0以下系统

    3.如果你的工程中已经含有Application类,那么让它继承android.support.multidex.MultiDexApplication类,如果你的Application已经继承了其他类并且不想做改动,那么还有另外一种使用方式,覆写attachBaseContext()方法:

    publicclassMyApplicationextendsFooApplication{@OverrideprotectedvoidattachBaseContext(Context base) {super.attachBaseContext(base);

    MultiDex.install(this);

    }

    }

    相关文章

      网友评论

          本文标题:Android 出现java.lang.NoClassDefFo

          本文链接:https://www.haomeiwen.com/subject/qtswwttx.html