gradle之gradlew最全指令攻略

  Gradle是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。我们可以为Gradle指定构建规则,然后它就会根据我们的“命令”自动为我们构建app。Android Studio中默认就使用Gradle来完成应用的构建,除此之外我们可以用gradle的指令选择性的去构建我们所需要的app。用gradle的指令构建app,需要用到gradlew(即gradle wrapper的简写),本文对gradlew的常用指令做一个总结。

  gradlew与gradlew.bat: gradlew为Linux下的shell脚本,gradlew.bat是Windows下的批处理文件。gradlew是gradle wrapper的缩写,也就是说它对gradle的命令进行了包装,比如我们进入到指定Module目录并执行“gradlew.bat assemble”即可完成对当前Module的构建(Windows系统下)。

  gradlew使用标准格式:gradlew [option...] [task...]
其中:option表示选项,task表示任务。也可以用:gradlew [task...] [option...],具体用哪种格式可以根据个人爱好决定。下面对gradlew的常用指令做一个说明:

  • gradlew -?/-h/--help:显示帮助信息,即会打印可选参数及参数说明信息;
  • gradlew -v/--version:版本号(会打印工程用的Gradle的版本号、Kotlin、Groovy、Ant、JVM、OS等的版本号);
  • gradlew tasks --all:查看所有任务,包括缓存任务等;
  • gradlew clean:清除工程目录下的build文件夹;
  • gradlew build: 检查依赖并编译打包,debug、release环境的包都会打出来;
  • gradlew assemble***:编译指定的包:如Debug包(gradlew assembleDebug)、Release包(gradlew assembleRelease)、渠道包(gradlew assembleOemRelease/assembleOemDebug)、定制的版本等等;
  • gradlew install***:编译并安装指定的包:如Debug包(gradlew installDebug)、Release包(gradlew installOemRelease/installOemDebug)、定制的版本等等;
  • gradlew uninstall**:卸载已安装的指定模式的包:如Debug包(gradlew uninstallDebug)、Release包(gradlew uninstallRelease)、渠道包(gradlew uninstallOemRelease/uninstallOemDebug)、定制的版本等等;
  • gradlew :模块名称:dependencies,如gradlew :app:dependencies,作用:查看包依赖关系;
  • gradlew build -i/--info -d/--debug -s/--stacktrace:编译(build)并打印debug模式和info等级的日志及所用异常的堆栈信息(--stacktrace);
  • gradlew clean build --refresh-dependencies:组合指令,清除构建(gradlew clean)并重新构建(gradlew build),同时强制刷新依赖(gradlew --refresh-dependencies);
  • gradlew --offline:离线模式,即让Gradle只使用本地cache里的依赖,如果cache中没有也不会更新依赖,而是提示编译失败;
  • gradlew --refresh-dependencies:强制刷新依赖,即检查依赖是否有更新比如动态版本、SHA1进行本地cache和远程仓库散列码的对比等,有更新则下载更新进行构建;使用这种方式可以避免手动删除cache;
  • --info:打印堆栈信息;
  • gradlew --daemon:守护进程,使用Gradle的守护进程构建,能够提高构建效率,如果守护进程没启动或现有的都处于忙碌状态,就启动一个守护进程;
  • gradlew --no-daemon:如果你已经配置为使用守护进程构建,可以使用该选项本次不用守护进程构建;
  • gradlew --continuous:连续构建,即任务队列中即使某个任务失败,不会终止执行,而是会继续执行下一个任务;
  • gradlew --parallel --parallel-threads=N:并行编译;
  • gradlew --configure-on-demand:按需编译。

  总结:gradlew的有些指令有简写的方式,如"gradlew --version"可以用简写方式"gradlew -v代替,"gradlew --help"可以用简写方式"gradlew -h""或gradlew -?"代替,"gradlew --no-rebuild"可以用简写方式"gradlew -a"代替,"gradlew --debug"可以用简写方式"gradlew -d"代替,"gradlew --stacktrace"可以用简写方式"gradlew -s代替等等,可以发现简写的指令只需要一个减号(“-”)开头,没有简写的指令需要用两个减号(即“--”)开头。

  如果感觉我的文章对您有用,请给个喜欢,如果有疑问,也欢迎在下方留言,谢谢!!!

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

推荐阅读更多精彩内容