现在的Android开发大部分是在AndroidStudio中进行的,当我们想要得到APK文件的时候,点一下RUN,或者执行一下
gradlew assembleDebug
就可以了,那么在这个过程中到底发生了什么,我们来详细看一下。
构建的过程大致可以划分为两个过程:编译和打包
编译:编译器(compileer)通过编译source code、AIDL files、source filse、dependednce files,最终生成Dex(s)文件和编译后的资源文件
打包:打包器(APK packager)利用签名文件(KeyStore)和上一步编译过程中生成的Dex(s)文件、编译后的资源文件打包成最终的APK文件
构建过程
一个几乎是最简化的构建流程
上图中的菱形表示一些构建操作,矩形表示输入或者输出文件
初见细节
编译打包流程
-
使用aapt/aapt2编译资源文件生成resource.arsc和R.java
-
使用AIDL处理aidl文件,生成java文件
-
使用javac编译java文件,生成class文件