Android Studio 使用 Gradle构建工具包来自动化执行和管理构建流程。可以设置多个构建配置,每个构建配置均可自定义一组代码和资源,同时对所有应用版本共有的部分重复利用。
构建流程
构建流程就是把你的应用的源码、资源文件和第三方库等打包成APK文件。在官网流程图这样的:
[站外图片上传中...(image-86ac5-1523735726561)]
而在GitHub上找到的编译流程图是这样的
来自GitHub的图片具体步骤
总结了一下,构建流程一般依循以下步骤:
- APPT(Android Asset Packaging Tool) 工具打包应用中的资源文件,如 AndroidManifest.xml、layout文件夹中的xm文件等,并将xml文件编译成二进制格式。一些文件不会被编译,例如 assets 文件夹中的文件、raw文件夹中的资源文件、图片文件等。其中,raw文件夹中的资源也会生成资源id。AAPT编译完成后,会生成 R.java 文件。
- AIDL工具将所有的aidl接口转化为java接口。
- 所有的java代码(包括项目中的java文件、第一步生成的R.java文件和第二步aidl转化得到的java接口文件)都会被编译器编译成.class文件。
- Dex工具会将第三步产生的.class文件、第三方库和其它.class文件编译生成.dex文件。第三方库一般是jar或aar包,其中,jar包里就是一堆.class文件,而aar包中包含.class文件和资源文件。.dex文件是Dalvik虚拟机可执行的格式。
- APK打包器会把dex文件和资源文件(包括编译过和未编译的)合并进一个APK文件。在你的应用可以被安装并部署到Android设备上前,APK文件必须被签名。
- APK打包器使用 debug keystor e或者 release keystore 对APK文件进行签名,关于使用 release keystore签名,具体可以查看https://developer.android.com/studio/publish/app-signing.html#studio。
- 如果对APK正式签名,还需要使用zipalin工具对APK进行对齐操作,这样可让应用在运行时减少内存开销。
网友评论