android解决方法数超过65536问题,(满则溢)Android AS打包提示方法数超65536的解决方法...

满则溢

平常大家喝饮料啥的都知道一个杯子的容量,如果超出就溢出,这个时候只能在加个杯子装了,Android开发也是如此,当方法数超过65536的时候就需要分包

为啥出现

项目当中添加的依赖和架包太多了,方法数超过65536还是很正常的,所以打包的时候会提示异常

网上不全的解决方法

总所周知

在app的build.gradle文件的defaultConfig中添加

defaultConfig { multiDexEnabled true }

然而这个分包设置只能解决一部分问题,打包可以成功

但是在Android 5.0以下机型是无法支持的,会导致运行不了

解决方法

1.自己找包去重新导入(没试过,不推荐)

2.三部曲

混淆、gradle、Application三个地方都得改

1.在app的build.gradle文件的defaultConfig中添加

defaultConfig { multiDexEnabled true }

2.在app的build.gradle文件的dependencies中添加

dependencies { implementation 'com.android.support:multidex:1.0.3' }

3.修改AndroidManifest.xml的application然后让应用支持多DEX文件,在MultiDexApplication JavaDoc中描述了三种可选方法:

1、在AndroidManifest.xml的application中声android.support.multidex.MultiDexApplication;

2、如果你已经有自己的Application类,让其继承MultiDexApplication;

3、如果你的Application类已经继承自其它类,你不想修改它,那么可以重写attachBaseContext()方法;

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

方法就这了,项目架包问题没有混淆。

混淆需要分包的请看

混淆项目更改方法

本文地址:https://blog.csdn.net/qq_41816123/article/details/108163896