Skip to content

MultiDex安装过程源码分析

cheyiliu edited this page Jul 8, 2016 · 1 revision
小结

本文主要讲述MultiDex的安装过程:

将/data/app/apkName.apk路径下解压得到的classes2.dex, …, classesN.dex,
依次写入到/data/data/pkgName/code_cache/secondary-dexes/apkName.apk.classes2.zip
等zip文件的classes.dex中,并返回这个zip列表。
然后针对这个zip列表执行安装过程,具体过程是,
将这个要安装的zip列表加入BaseDexClassLoader的pathList实例的dexElements数组中,
其中会针对各dex文件进行dex2opt优化。
一旦加入到了dexElements数组中,程序启动的时候,
ClassLoader会加载dexElements数组中的元素,从而实现multi dex的安装。

这么看来,本文并没有讲述如果进行multi dex拆分。

未完待续。



Clone this wiki locally