Gradle 构建流程

展示很久之前写的文档,Gradle的构建过程,有错误的地方请指出


1.clean  清理工程  删除build文件夹

// ************** Configuration on demand is an incubating feature  *******

2、preBuild          每个module 都会执行preBuild   准备配置文件

3、preReleaseBuild   准备release configuration    在 preBuild 之后执行 会依赖preBuild

4、checkReleaseManifest 检查 release下的manifest 在 preReleaseBuild 之后执行 依赖preReleaseBuild 

5、preDebugAndroidTestBuild          准备debug下的Test   在preBuild后执行 依赖preBuild

6、preDebugBuild                 准备 debug configuration  在preBuild后执行 依赖preBuild

7、preDebugUnitTestBuild             准备 debug下的单元测试构建  在preBuild后执行 依赖preBuild

8、preReleaseUnitTestBuild           准备 release下的单元测试构建  在preBuild后执行 依赖preBuild

   // ***************** 以上  build 文件夹不存在 ***********************************
   //  ****************  接下来是对依赖的包 进行下载 *********************在build/incremental/exploded-aar下

9、prepareComAndroidSupportSupportV42311Library       生成 Android SupportV4.23.1库支持 在build/incremental/exploded-aar下

10、prepareComNdAndroidSmartcanCommonsUtilAar1205SmartcanReleaseLibrary   生成 smartcan.commons.util-aar.1.2.0.5.smartcan.release

11、prepareComNdAndroidSmartcanDatalayerAar1205SmartcanReleaseLibrary        生成 smartcan.commons.datalayer-aar.1.2.0.5.smartcan.release

12、prepareComNdAndroidSmartcanDatatransferAar1205SmartcanReleaseLibrary     生成 smartcan.commons.datatransfer-aar.1.2.0.5.smartcan.release

13、prepareComNdAndroidSmartcanFrameworkAar1205SmartcanReleaseLibrary        生成 smartcan.commons.framnework-aar.1.2.0.5.smartcan.release

14、prepareComNdAndroidSmartcanNetworkAar1205SmartcanReleaseLibrary          生成 smartcan.commons.network-aar.1.2.0.5.smartcan.release

15、prepareComNdAndroidSmartcanSmartcanCoreAar1205SmartcanReleaseLibrary 生成 smartcan.commons.smartcan.core-aar.1.2.0.5.smartcan.release

16、prepareComNdAndroidSmartcanSmartcanDatacollectionAar1205SmartcanReleaseLibrary  生成 smartcan.commons.datacollection-aar.1.2.0.5.smartcan.release

17、prepareComNdSdpAndroidProcesscheck108Library                         生成  android.process.check.1.0.8 

18、prepareReleaseDependencies        加载 远端的依赖   加载 所有的需要从远端下载的依赖   

19、compileReleaseAidl               编译release环境下的 AIDL文件   依赖prepareDebugDependencies   在build/incremental/aidl/release下

20、compileReleaseRenderscript       编译 release环境下的渲染脚本, Renderscript用来进行高性能计算,是一种类C脚本语言 依赖prepareDebugDependencies  在build/incremental/rs/release下

21、generateReleaseBuildConfig   会生成 releasse下的 资源和源码 包括BuildConfig  在build/generate/source/buildConfig/release  依赖checkReleaseManifest

22、generateReleaseAssets            生成 release下的 Assets文件       但没有完全生成个  算是准备

23、mergeReleaseAssets               生成 debug下的Assets文件 在 build/intermediates/assets/release下,  和 merge.xml文件 在build/intermediates/incremental/mergeAssets/release下   依赖ReleaseDependencies 

24、generateReleaseResValues     准备resource的 values文件  

25、generateReleaseResources     准备 资源文件 

26、mergeReleaseResources             release下的 生成Resource文件 在build/incremental/res/release下 和 merge.xml 在build/intermediates/incremental/mergeResources/release下

27、processReleaseManifest           依赖prepareReleaseDependencies  生成 AndroidManifest文件 在build/incremental/manifest/full/release

28、processReleaseResources          生成resources-release.ap_    在 build/intermediates/resources下

29、generateReleaseSources           生成R文件  在build/generate/source/r/debug下 

30、processReleaseJavaRes            

31、compileReleaseJavaWithJavac      使用Javac编译Java代码

32、proguardRelease                  生成 混淆文件 运行混淆规则

33、androidJavadocsPicked

34、copyMappingTask                  复制 mapping文件  

35、androidJavadocsJar               生成 Javadocs的Jar文件

36、androidSourcesJar                生成 Java源码的 Jar文件

37、compileLint                      静态代码检查

38、copyDebugLint                    

39、checkDebugManifest               检查 release下的manifest 在 preDebugBuild 之后执行 依赖preDebugBuild 

40、prepareDebugDependencies     debug下  加载 远端的依赖   加载 所有的需要从远端下载的依赖

41、compileDebugAidl             编译debug环境下的 AIDL文件   依赖prepareDebugDependencies   在build/incremental/aidl/debug下

42、compileDebugRenderscript     编译 debug环境下的渲染脚本   依赖prepareDebugDependencies  在build/incremental/rs/debug下

43、generateDebugBuildConfig     会生成 debug下的 资源和源码 包括BuildConfig  在build/generate/source/buildConfig/debug  依赖checkDebugManifest

44、generateDebugAssets              准备 debug下的 Assets文件  
 
45、mergeDebugAssets             生成 debug下的Assets文件 在 build/intermediates/assets/debug下,  和 merge.xml文件 在build/intermediates/incremental/mergeAssets/debug下   依赖ReleaseDependencies  

46、generateDebugResValues           准备resource的 values文件  件

47、generateDebugResources           准备 资源文件

48、mergeDebugResources              生成资源文件 在generateDebugResources后执行  在build/incremental/res/debug下  和 merge.xml在build/intermediates/incremental/mergeResources/debug下

49、processDebugManifest         依赖prepareReleaseDependencies  生成 AndroidManifest文件 在build/incremental/manifest/full/release

50、processDebugResources            生成resources-debug.ap_    在 build/intermediates/resources下

51、generateDebugSources         生成R文件  在build/generate/source/r/debug下

52、processDebugJavaRes              生成Java资源文件 

53、compileDebugJavaWithJavac            使用Javac编译Java代码

54、extractDebugAnnotations              

55、mergeDebugProguardFiles       生成混淆文件

56、compileDebugNdk              编译NDK

57、packageDebugJniLibs              打包本地依赖包

58、packageDebugRenderscript    打包渲染脚本

59、packageDebugResources        debug  打包资源文件

60、proguardDebug                混淆

61、bundleDebug

62、compileDebugSources          编译java源码

63、assembleDebug                编译创建Jar包

64、copyReleaseLint

65、extractReleaseAnnotations

66、mergeReleaseProguardFiles        生成混淆文件 在buil/outputs/

67、compileReleaseNdk

68、packageReleaseJniLibs

69、packageReleaseRenderscript

70、packageReleaseResources

80、bundleRelease

81、compileReleaseSources        编译

82、assembleRelease              编译创建Jar包

83、assemble     包含了项目中的所有打包相关的任务,比如java项目中打的jar包,Android项目中打的apk

84、lint         android静态代码检查

85、prepareDebugUnitTestDependencies    加载单元测试以来的远程包

85、processDebugUnitTestJavaRes          生成单元测试

86、compileDebugUnitTestJavaWithJavac        使用Javac编译Java单元测试代码

87、compileDebugUnitTestSources              编译单元测试 源码

88、mockableAndroidJar

89、assembleDebugUnitTest                    编译打包

90、testDebugUnitTestPicked                  测试UT

91、prepareReleaseUnitTestDependencies       加载 UT的依赖

92、processReleaseUnitTestJavaRes            加载UT需要的资源文件

93、compileReleaseUnitTestJavaWithJavac      使用Javac编译Java单元测试代码

94、compileReleaseUnitTestSources            编译单元测试 源码

95、assembleReleaseUnitTest                  编译打包

96、testReleaseUnitTestPicked                测试UT

97、test         包含了所有的测试任务

98、check       包含了项目中所有验证相关的任务

99、:build       包含所有的 build任务

100、uploadArchivesUploading:  上传



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,056评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,842评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,938评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,296评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,292评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,413评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,824评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,493评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,686评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,502评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,553评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,281评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,820评论 3 305
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,873评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,109评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,699评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,257评论 2 341

推荐阅读更多精彩内容