1. 程式人生 > >Libgdx的使用(15)——使用Gradle構建速度慢的問題

Libgdx的使用(15)——使用Gradle構建速度慢的問題

Libgdx正式推出1.0版本,其中最重要的一個變化就是正式啟用Gradle模板支援。
填寫必要資訊後會自動生成Gradle配置檔案,通過Gradle可以建立Idea和Eclipse的專案檔案,更可以快速升級和新增依賴。但是很多人再使用的時候,特別是第一次接觸Gradle,會遇到很多問題,最關鍵的一個就是速度慢。本文會介紹這個問題的原因和解決方法。

Gradle Wrapper
Gradle的Wrapper很多文章翻譯為包裝器。包裝器的出現是基於這樣的需求,即讓沒有裝Gradle的機器上也能正常的構建你的專案。
它和Groovy裡的Grape類似。如果目標機器上沒有Gradle,包裝器將先下載安裝合適版本的Gradle,然後再執行相應的任務。如果有,但是版本不同,它也可以保證構建工具本身的版本相同。
出發點是好的,但是現實確實複雜的。因為預設下載的地址http://services.gradle.org/在中國訪問速度很慢很慢,而且需要下載的檔案大小還很大,一般有40+M,基本上是不能下載成功的。
對於這個問題有兩種解決方法:

使用本地Gradle
修改下載地址
使用本地Gradle
這種方法實質上是不使用包裝器,而是通過各種方法安裝Gradle,然後直接執行。注意,執行的時候不要呼叫gradlew [command]而是使用gradle [command] 。
這種方法簡單,但是不能享受到包裝器的優勢。

修改下載地址
訪問Gradle Distributions的速度慢,我們可以使用一個快的。
Wrapper任務有一個名為distributionUrl的屬性,直接修改它指定新的下載地址就行了。
可以在build.gradle中修改,比如task prepareWrapper(type: Wrapper) {
   gradleVersion = '1.12'
   distributionUrl = 'alternative.location'
}
或者建立gradle-wrapper.properties檔案
distributionUrl=http://some.location.net/gradle-distributions/gradle-1.12-bin.zip
當然具體的替代網址就隨意了,也可以使用自建伺服器。

Gradle Repositories
Gradle中的依賴會根據配置自動解析,而Libgdx Gradle模板使用了mavenCentral(),這是maven的中央倉庫,速度實在一般,使用映象替換之。

Oschina提供了映象,地址為http://maven.oschina.net/content/groups/public/。

用以下語句替換mavenCentral()就可以了。
maven {
  url 'http://maven.oschina.net/content/groups/public/'
}
可以使用gradlew tasks來檢測依賴是否下載成功。


參考資料
Wrapper
開源中國 Maven 庫使用幫助