我必須爲我的Macbook Pro格式化一些愚蠢的企業域遷移後,我一直對Gradle for Android生成無盡的悲傷。我一直在使用Gradle(包括命令行和Android Studio)來構建我的項目已經有一年多的時間了,而且在全新安裝之前一直沒有問題。我花了無數個小時在週末試圖解決這個問題,但沒有運氣,而且我真的快要把我的頭髮撕掉了!以下是我堅持用:爲Android構建Gradle和Maven存儲庫造成的困擾
搖籃建立已經放緩到爬行
我有一個習慣需要大約2分鐘,乾淨多項目(或Android的方面多模塊)項目構建 - 加上上傳檔案到(本地)Maven倉庫。現在,Gradle配置階段需要大約8分鐘!沒有什麼改變,因爲在Mac上進行全新設置後,我只是從Github回購庫中獲取了一些資源,並且正在使用版本爲2.2.1
的gradle包裝器(如前所述)進行構建。不知道這是否重要,但我機器上的Gradle版本是2.6
。我使用Maven - 不是用於構建,而是用於本地M2存儲庫,Maven版本是3.3.3
。 Maven和Gradle都使用Homebrew安裝。無論是使用命令行還是使用Android Studio,Gradle運行時都是相同的。我正在使用Android Studio版本1.4-beta4
。以下是我已經建立了的東西:
- 我已經設置了Maven的
settings.xml
指向本地Maven倉庫到默認位置`$ {}的user.home /平方米/存儲庫。使用Android Studio和支持資源庫(我的項目需要Play服務和支持庫)來升級Google資源庫 - 我們需要將存檔上傳到我們的構建服務器上的公司Maven資源庫;爲了迴避這個問題,我使用
gradle.properties
來定義版本庫URL爲在Maven設置中設置的本地M2存儲庫 - 該項目定義了Android構建工具版本
1.1.0
,雖然這是舊版本,但我試過最新1.3.1
沒有運氣的建設時間 - 可能相關:我的Mac Pro使用良好的硬盤,而不是較新的固態存儲。雖然這可能會影響建立時間,格式期間未更新的磁盤,而且,我相信,它不應該造成的影響大小等多個訂單
未能解決當地M2回購
文物我工作的主要項目是一個庫,我們有測試客戶端用於驗證功能。圖書館和測試客戶在Github回購庫中作爲單獨的項目進行維護。爲了不必在我的本地開發環境中對進行任何更改,我更願意將我的庫中的工件部署到本地M2回購庫,然後讓測試客戶端在本地定義和解決依賴關係。我使用全局gradle.properties
來完成此操作,以覆蓋存儲庫URL(將其指向本地M2回購)。這工作得很好,直到磁盤格式,但因爲破碎。 Gradle永遠無法解決工件,但我可以在當地的M2回購中看到它們。我已經谷歌搜索高低(在Gradle論壇上,在這裏),但似乎無法弄清楚我錯過了什麼或做錯了什麼。作爲解決方法,我將測試客戶機作爲模塊添加到庫項目中,並將其構建爲單個多模塊項目。順便說一句,即使是這樣,我仍然遇到了上面提到的緩慢的Gradle構建時間問題。
有人可以幫我嗎?
您可以運行'gradlew --profile x'來獲取詳細的時間消耗報告。 –
如果您試圖將其分爲單獨的較小的關於某個主題的問題,您可能會從其他人那裏獲得更好的關注。這個網站的格式不適合排除故障,所以好的答案將取決於具有小而結構良好的問題。把情緒化的評論放下也許是明智的,因爲他們可能不會像你想像的那樣激勵別人。 – Jolta