Android 项目构建

Android Studio 使用 Gradle构建工具包来自动化执行和管理构建流程。可以设置多个构建配置,每个构建配置均可自定义一组代码和资源,同时对所有应用版本共有的部分重复利用。

构建流程

构建流程就是把你的应用的源码、资源文件和第三方库等打包成APK文件。在官网流程图这样的:

[站外图片上传中...(image-86ac5-1523735726561)]

而在GitHub上找到的编译流程图是这样的

来自GitHub的图片

具体步骤

总结了一下,构建流程一般依循以下步骤:

  1. APPT(Android Asset Packaging Tool) 工具打包应用中的资源文件,如 AndroidManifest.xml、layout文件夹中的xm文件等,并将xml文件编译成二进制格式。一些文件不会被编译,例如 assets 文件夹中的文件、raw文件夹中的资源文件、图片文件等。其中,raw文件夹中的资源也会生成资源id。AAPT编译完成后,会生成 R.java 文件。
  2. AIDL工具将所有的aidl接口转化为java接口。
  3. 所有的java代码(包括项目中的java文件、第一步生成的R.java文件和第二步aidl转化得到的java接口文件)都会被编译器编译成.class文件。
  4. Dex工具会将第三步产生的.class文件、第三方库和其它.class文件编译生成.dex文件。第三方库一般是jar或aar包,其中,jar包里就是一堆.class文件,而aar包中包含.class文件和资源文件。.dex文件是Dalvik虚拟机可执行的格式。
  5. APK打包器会把dex文件和资源文件(包括编译过和未编译的)合并进一个APK文件。在你的应用可以被安装并部署到Android设备上前,APK文件必须被签名。
  6. APK打包器使用 debug keystor e或者 release keystore 对APK文件进行签名,关于使用 release keystore签名,具体可以查看https://developer.android.com/studio/publish/app-signing.html#studio。
  7. 如果对APK正式签名,还需要使用zipalin工具对APK进行对齐操作,这样可让应用在运行时减少内存开销。

参考

https://github.com/yipianfengye/androidSource/blob/master/2%20android%E5%BC%82%E6%AD%A5%E6%B6%88%E6%81%AF%E6%9C%BA%E5%88%B6.md

你可能感兴趣的:(Android 项目构建)