請問android studio創建的工程目錄下的gradlew文件有什麼作用?
gradlew 和 gradle 有什麼區別?
其實Gradlew只是一個Gradle的封裝,是給Unix用戶用的.這個腳本的最前面的注釋也說明了這個功能:
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
首先簡單來說就是gradlew 文件是給Unix用戶用的。而且是沒有安裝gradle的也可以運行。
題主你可以做一個實驗,在build.gradle文件中加入
task createWrapper(type: Wrapper) {
gradleVersion = "0.9"
}
運行
gradle createWrapper
你就會發現生成了4個新的文件:
0.gradle-wrapper.jar1.gradle-wrapper.properties2.gradlew3.gradlew.bat其中,這些個文件的意思就是,任何機器都可以運行這個build即使沒有裝gradle,如果沒有裝就會根據gradle-wrapper裡面的配置下載特定版本(之前的gradleVersion)。
這個最重要的運用就是:1. 在公司內統一gradle版本2. 把gradle-wrapper.properties裡面的下載gradle的鏈接切換到公司的公共空間上,那麼下載和安裝gradle的時間就可以忽略不計了。Gradle時基於Groovy語言,面向Java應用為主的一種項目構建工具。Android Studio默認使用Gradle工具,所以當創建一個新的project時,它的結構是這樣子的 :
rootProject/
├── gradlew
├── gradlew.bat
└── gradle/wrapper/
├── gradle-wrapper.jar
└── gradle-wrapper.properties
gradlew一般用於版本的構建,使用方法 : gradlew + 命令, 比如創建一個debug版本的apk
gradlew assembleDebug
- assemble : 針對某個版本創建一個apk
- clean : 刪除所有的構建任務(包含已經構建號的apk文件)
- check : 執行Lint檢查,如果Lint檢查到錯誤,則停止執行腳本
- build : 同時執行assemble,check命令
- connectedCheck : 執行測試任務
- deviceCheck : 執行在遠程設備上的測試
- installDebug : 安裝debug版本
- installRelease : 安裝release版本
- uninstallDebug : 卸載debug版本
- uninstallRelease : 卸載release版本
- tasks :查看當前可構建的所有task
- -v : 查看當前的gradle版本
推薦閱讀:
※鎚子手機如何 Root?
※如何看待金立簽約薛之謙作為代言人以及s10的發布?
※金立將發布互聯網手機品牌 IUNI,它可能複製小米的成功嗎?
※出色地利用了手機感測器的優秀應用都有哪些?
※劉德華為什麼會接拍金立手機的廣告?
TAG:Android | Gradle | AndroidStudio |