(满则溢)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