android gradle编译,各个task拆分解析
针对一个使用了gradle transform 插件的工程进行分析
首先看如下编译命令对应的各个task
gradle clean assembleDebug -x lint check –stacktrace
- :app:clean
该步骤主要是清理上次编译的遗留产物,删除module下的build文件夹内所有内容 - :app:preDebugBuild
新建build文件夹,内部新增intermediates/incremental文件夹,针对各个不同的buildType,新建对应的文件夹,内部新增zip-cache文件夹,内容为空 - :app:checkDebugManifest
AndroidManifest检查,貌似不包括内容检查,故意写错也不会报错 - :app:preBt1Build
看起来没有做特别的事情…… - :app:preBt2Build
看起来没有做特别的事情…… - :app:preReleaseBuild
看起来没有做特别的事情…… - :app:prepareBrowserProfessionalLibrary
将工程中用到的某个aar拷贝并解压缩到module下的build/intermediates/exploded-aar/**/目录下,内容已经解压缩了 - :app:prepareComAndroidSupportAnimatedVectorDrawable2340Library
将support对应的包解压缩到exploded-aar文件夹下,与上一个逻辑基本相同 - :app:prepareComAndroidSupportAppcompatV72340Library