多应用+插件架构,代码干净,支持一键云编译,码云点赞13K star,4.8-4.12 预售价格198元 广告
功能升级最好用增量更新。 **dex分包** 一般一个APP只有一个dex文件,但是通过dex分包技术,可以有多个dex文件。 原因: 1. 解决65536的问题,如果一个项目非常大,模块较多,函数的数量就超过65536,这时Google就提出了[MultiDex方案](https://developer.android.com/reference/android/support/multidex/MultiDex.html),即一个apk文件可以包含多个dex文件。不过值得注意的是,除了第一个dex文件以外,其他的dex文件都是以资源的形式被加载的, 换句话说就是在Application初始化前将dex文件注入到系统的ClassLoader中的。 方法数量过多,编译时出错,提示: ~~~ Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]: 65536 ~~~ 2. 热修复 根据Android虚拟机的类加载机制,同一个类只会被加载一次,所以热修复也使用了这样的机制,要让修复后的类替换原有的类就必须让补丁包的类被优先加载,也就是插入到原有dex之前。 关于MultiDex方案可参考[美团Android DEX自动拆包及动态加载简介](https://tech.meituan.com/mt-android-auto-split-dex.html)