/**
* 在 android 系统中一个apk的打包,包括三部分1.资源文件res、2.java文件、3aidl文件。
* 1.对于资源文件通过AAPT工具进行编译生成R文件和resources.arcs文件。
* 2.对于aidl文件会被编译成java文件和java文件一起通过dx工具优化打包为.dex文件包,做了分包处理可能会
* 出现多个.dex文件包。
* 3.然后在通过apkBuild工具把编译好的res和dex文件进行打包,生成未签名的文件。
* 4.对未签名的文件通过jarsiger工具进行签名,签名之后会生成META-INFO文件,META-INFO中主要保存了根据文件路径生成的密钥等
* 5.最后通过zipalign对apk中未压缩的资源文件进行压缩优化,主要是让资源文件按照4字节的边界进行对齐。
* 这种思想和java对象内存分布对齐是一样的,主要是加快资源的访问速度,如果每个资源的开始位置都是上一个资源之后的 4n 字节,
* 那么访问下一个资源就不用遍历,直接跳到 4n 字节处判断是不是一个新的资源即可。
*/

网友评论