BUG分析——com.android.dex.DexIndexOverflowException

原因分析

Android打包的DEX过程中, 单个DEX文件可被引用的方法总数被限制为65536, 当应用程序和库引用达到一定规模,就会超过这个限制,这时就得分割Dex。

解决方案

添加依赖于build.gradle支持MultiDex库

dependencies { ... compile 'com.Android.support:multidex:1.0.1' ... }

在buildType或productFlavor中开启multiDexEnabled

defaultConfig { ... multiDexEnabled true ... }

添加Application支持
(1)如果你的Application继承于Application类,让它继承 android.support.multidex.MultiDexApplication而不是android.app.Application
(2)如果你的Application继承于第三方Application类,无法改变基类,那么可以重写attachBaseContext()

protected void attachBaseContext(Context base) {  
         super.attachBaseContext(base);  
         MultiDex.install(this);

你可能感兴趣的:(BUG分析——com.android.dex.DexIndexOverflowException)