gradle之gradlew最全指令攻略
Gradle是一個(gè)構(gòu)建工具,它是用來(lái)幫助我們構(gòu)建app的,構(gòu)建包括編譯、打包等過(guò)程。我們可以為Gradle指定構(gòu)建規(guī)則,然后它就會(huì)根據(jù)我們的“命令”自動(dòng)為我們構(gòu)建app。Android Studio中默認(rèn)就使用Gradle來(lái)完成應(yīng)用的構(gòu)建,除此之外我們可以用gradle的指令選擇性的去構(gòu)建我們所需要的app。用gradle的指令構(gòu)建app,需要用到gradlew(即gradle wrapper的簡(jiǎn)寫(xiě)),本文對(duì)gradlew的常用指令做一個(gè)總結(jié)。
gradlew與gradlew.bat: gradlew為L(zhǎng)inux下的shell腳本,gradlew.bat是Windows下的批處理文件。gradlew是gradle wrapper的縮寫(xiě),也就是說(shuō)它對(duì)gradle的命令進(jìn)行了包裝,比如我們進(jìn)入到指定Module目錄并執(zhí)行“gradlew.bat assemble”即可完成對(duì)當(dāng)前Module的構(gòu)建(Windows系統(tǒng)下)。
gradlew使用標(biāo)準(zhǔn)格式:gradlew [option…] [task…]
其中:option表示選項(xiàng),task表示任務(wù)。也可以用:gradlew [task…] [option…],具體用哪種格式可以根據(jù)個(gè)人愛(ài)好決定。下面對(duì)gradlew的常用指令做一個(gè)說(shuō)明:
gradlew -?/-h/–help:顯示幫助信息,即會(huì)打印可選參數(shù)及參數(shù)說(shuō)明信息;
gradlew -v/–version:版本號(hào)(會(huì)打印工程用的Gradle的版本號(hào)、Kotlin、Groovy、Ant、JVM、OS等的版本號(hào));
gradlew tasks --all:查看所有任務(wù),包括緩存任務(wù)等;
gradlew clean:清除工程目錄下的build文件夾;
gradlew build: 檢查依賴(lài)并編譯打包,debug、release環(huán)境的包都會(huì)打出來(lái);
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 :模塊名稱(chēng):dependencies,如gradlew :app:dependencies,作用:查看包依賴(lài)關(guān)系;
gradlew build -i/–info -d/–debug -s/–stacktrace:編譯(build)并打印debug模式和info等級(jí)的日志及所用異常的堆棧信息(–stacktrace);
gradlew clean build --refresh-dependencies:組合指令,清除構(gòu)建(gradlew clean)并重新構(gòu)建(gradlew build),同時(shí)強(qiáng)制刷新依賴(lài)(gradlew --refresh-dependencies);
gradlew --offline:離線模式,即讓Gradle只使用本地cache里的依賴(lài),如果cache中沒(méi)有也不會(huì)更新依賴(lài),而是提示編譯失敗;
gradlew --refresh-dependencies:強(qiáng)制刷新依賴(lài),即檢查依賴(lài)是否有更新比如動(dòng)態(tài)版本、SHA1進(jìn)行本地cache和遠(yuǎn)程倉(cāng)庫(kù)散列碼的對(duì)比等,有更新則下載更新進(jìn)行構(gòu)建;使用這種方式可以避免手動(dòng)刪除cache;
–info:打印堆棧信息;
gradlew --daemon:守護(hù)進(jìn)程,使用Gradle的守護(hù)進(jìn)程構(gòu)建,能夠提高構(gòu)建效率,如果守護(hù)進(jìn)程沒(méi)啟動(dòng)或現(xiàn)有的都處于忙碌狀態(tài),就啟動(dòng)一個(gè)守護(hù)進(jìn)程;
gradlew --no-daemon:如果你已經(jīng)配置為使用守護(hù)進(jìn)程構(gòu)建,可以使用該選項(xiàng)本次不用守護(hù)進(jìn)程構(gòu)建;
gradlew --continuous:連續(xù)構(gòu)建,即任務(wù)隊(duì)列中即使某個(gè)任務(wù)失敗,不會(huì)終止執(zhí)行,而是會(huì)繼續(xù)執(zhí)行下一個(gè)任務(wù);
gradlew --parallel --parallel-threads=N:并行編譯;
gradlew --configure-on-demand:按需編譯。
??
??總結(jié):gradlew的有些指令有簡(jiǎn)寫(xiě)的方式,如"gradlew --version"可以用簡(jiǎn)寫(xiě)方式"gradlew -v代替,“gradlew --help"可以用簡(jiǎn)寫(xiě)方式"gradlew -h”"或gradlew -?"代替,"gradlew --no-rebuild"可以用簡(jiǎn)寫(xiě)方式"gradlew -a"代替,"gradlew --debug"可以用簡(jiǎn)寫(xiě)方式"gradlew -d"代替,"gradlew --stacktrace"可以用簡(jiǎn)寫(xiě)方式"gradlew -s代替等等,可以發(fā)現(xiàn)簡(jiǎn)寫(xiě)的指令只需要一個(gè)減號(hào)(“-”)開(kāi)頭,沒(méi)有簡(jiǎn)寫(xiě)的指令需要用兩個(gè)減號(hào)(即“–”)開(kāi)頭。
總結(jié)
以上是生活随笔為你收集整理的gradle之gradlew最全指令攻略的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php JSON数据格式化(美化)的方法
- 下一篇: 机械硬盘简称是什么