1.aapt阶段:aapt工具编译res资源文件,把大部分xml文件编译成二进制文件(图片文件除外),同时生成R.Java文件和resources.arsc文件,里面保存了资源的ID和在APK中的路径。
2.aidl阶段:如果项目中有使用AIDL,那么就会把.aidl文件编译成.java文件。
3.javaCompiler阶段:将所有.java文件(包括R文件和AIDL生成的.java文件),通过javac工具生成class文件。
4.dex阶段:将生成的.class文件和第三方库的.class文件通过dx工具生成classes.dex文件(如果有分包,那么可能有多个)。
5.apkBuilder阶段:aapt阶段中的资源文件、dex文件和第三方的非java资源包(.so),通过apkbuilder工具生成未签名的apk包。
6.jarSigner阶段:签名,jarsigner工具,如果是debug模式用默认签名,release模式用开发者的签名。
7.zipAligin阶段:对齐,通过zipalign工具对apk中的未压缩资源(图片、视频)进行“对齐操作”,让资源按4字节的边界进行对齐,使得资源访问速度更快
Android APK文件结构 完整打包编译的流程 APK安装过程 详解
(备注:这篇是摘了ref引用到的文章的一些知识点,仅起到做个简单笔记的作用。)
