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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容