推荐使用AS,只需要在gradle中进行配置和添加一些代码即可实现分包
Multidex实现及原理
1. 什么是分包?分包可以解决什么问题?
分包(multidex)是指apk文件中含有多于一个classes.dex的dex文件,如classes2.dex。
下面是我的一个私人项目,我们在AndroidStudio中,对该项目APK进行分析,获得该apk下的目录结构如图:
我们可以看到上面的apk目录结构中有且仅有一个classex.dex文件。
- classes.dex:代码文件
- res:资源
- lib:存放so库文件
- resources.arsc:资源的索引,相对于R目录,(上面的目录结构中没有)
- META-INF:签名信息
- AndroidManifest.xml:清单文件
- assets:资源文件(无ID)
再来看下我反编译的某应用下目录结构:
可以看到除了classes.dex外还有一个classes2.dex。
了解了什么是分包后,再来思考为啥要在自己的项目中去费力的多分一个.dex文件。不分不行