更新依賴
在執行build、compile等任務時會解析項目配置的依賴並按照配置的倉庫去搜尋下載這些依賴。默認情況下,Gradle會依照Gradle緩存->你配置的倉庫的順序依次搜尋這些依賴,並且一旦找到就會停止搜索。如果想要忽略本地緩存每次都進行遠程檢索可以通過在執行命令時添加--refresh-dependencies
參數來強制刷新依賴。
gradle build --refresh-dependencies
當遠程倉庫上傳了相同版本依賴時,有時需要爲緩存指定一個時效去檢查遠程倉庫的依賴笨版本,Gradle提供了cacheChangingModulesFor(int, java.util.concurrent.TimeUnit)
,cacheDynamicVersionsFor(int, java.util.concurrent.TimeUnit)
兩個方法來設置緩存的時效
configurations.all {
//每隔24小時檢查遠程依賴是否存在更新
resolutionStrategy.cacheChangingModulesFor 24, 'hours'
//每隔10分鐘..
//resolutionStrategy.cacheChangingModulesFor 10, 'minutes'
// 採用動態版本聲明的依賴緩存10分鐘
resolutionStrategy.cacheDynamicVersionsFor 10*60, 'seconds'
}
dependencies {
// 添加changing: true
compile group: "group", name: "module", version: "1.1-SNAPSHOT", changing: true
//簡寫方式
//compile('group:module:1.1-SNAPSHOT') { changing = true }
}
緩存管理
緩存位置管理
Gradle在按照配置的倉庫去搜尋下載依賴時,下載的依賴默認會緩存到USER_HOME/.gradle/caches目錄下,當然也可以手工修改這個位置。
具體可以參考如下三種方式:
- 通過添加系統變量 GRADLE_USER_HOME
- 設置虛擬機參數 org.gradle.user.home 屬性
- 通過命令行-g或者 –gradle-user-home 參數設置
離線模式(總是採用緩存內容)
Gradle提供了一種離線模式,可以讓你構建時總是採用緩存的內容而無需去聯網檢查,如果你並未採用動態版本特性且可以確保項目中依賴的版本都已經緩存到了本地,這無疑是提高構建速度的一個好選擇。開啓離線模式只需要在執行命令時候添加--offline
參數即可。當然,採用這種模式的也是有代價的,如果緩存中搜尋不到所需依賴會導致構建失敗。
gradle build --offline