# AGP

AGP资源编译之MergeResources流程分析

自AGP3.0起,默认的资源打包工具从AAPT v1版本升级为v2。APPT2的可执行文件存放在Android SDK的build-tools/$version路径下。在AAPT1中通过package命令把原始的资源文件编译成各式的二进制文件,并且压缩到一个ZIP归档中,升级到AAPT2后,编译的过程交由compile命令处理,合并归档的操作交给了link命令处理。AGP7.x+的代码中,AAPT1的内容相关的代码都已被删除。本次分析的AGP源码版本7.2.

AGP与资源构建交互的相关API

Android构建的过程,其中很重要的部分就是资源的构建,AGP通过把项目中资源进行link、complie、merge…等这些操作,最终把需要的资源打包进入APK中。如果大家熟悉AGP流程它是把这些操作封装各种Task来完成,但除此之外AGP还提供很多方便的API帮助我们动态化的构建。