3、使用Java Compiler工具,Java Compiler(俗称javac)将R.java、项目中的代码、Aidl接口文件编译成.class文件。
4、使用dex工具,将上一步产生的.class文件和第三方依赖中的.class编译成.dex文件。(目前新版使用d8工具)
5、使用apkbuilder工具,将编译后的资源(.ap_文件)、dex文件及其他资源文件(例如:so文件、asset文件等),压缩成一个.apk文件。
6、使用Jarsigner工具,读取签名文件,对上一步中产生的apk文件进行签名,生成一个已签名的apk文件。
7、使用zipalign工具,对已签名的apk文件进行体积优化(只有v1签名才有这一步,v2签名的apk会在zipalign后签名被破坏)。
先休息3分钟,消化一下。
深入构建
准备深入构建流程,图片看似复杂,但是有看图技巧:
我们可以参照「再探构建」中所展示的图片来解读这张流程图。
以椭圆(工具及操作)为线索,按照之前说的构建流程来理解此图。aapt、aidl、javac、dex、apkbuilder Jarsigner、zipalign是不是很熟悉? 左边这一大块是关于Render Script、ndk编译的