先来看下gradle项目构建图:
2828107-93541e2fc7d133cb.png 2828107-27fe630ba6a4f584.png
apk构建步骤:
1.aapt工具编译资源文件生成R.java和资源二进制文件,resource.arsc
2.aidl工具会将.aidl后缀名的文件编译成java接口文件
3.javac编译器会将R.java文件,应用代码文件以及aidl转换的java接口文件,编译成class字节码文件集。
4.将所有的class文件使用proguard_builder工具进行混淆然后使用dx命令编译成dex文件。
5.将dex文件和资源二进制文件以及签名文件,resource.arsc使用apkbuilder命令构建成apk文件,这个apk文件未签名。
6.使用jarsinger命令对未签名的apk文件利用release.keytool文件进行签名处理,最终生成一个签名的apk文件,只有签名后的文件才可以安装在手机上.
7.使用zipalign工具对签名后的apk文件进行压缩对齐优化,缩小apk体积和加快apk启动速度.
截屏2020-06-09下午5.13.23.pngresource.arsc文件:是个二进制文件,里面包含了资源类型(应用app是以0x7f开头,不同的资源类型以01开始,比如我们常见的0x7f01 0001),资源id,资源名称,资源路径,便于系统定位到apk中的资源。
网友评论