2013-11-20 25 views
2

我正在用gradle 1.8和Android Gradle插件0.6.3構建一個Android應用程序。Proguard每次運行gradle;結果沒有重用

android {  
     ... 
     buildTypes { 
     ... 
     release { 
      runProguard true 
      proguardFile 'proguard.cfg' 
      proguardFile getDefaultProguardFile('proguard-android.txt') 
     } 
     ... 
} 

我每次運行gradle assembleRelease,ProGuard的步驟似乎每次運行 - 似乎以前assemble的結果不被重用,儘管更改代碼。編譯步驟還說UP-TO-DATE爲後續運行,這似乎證實了這一點。運行proguard會爲每個構建添加大量時間。特別是,當前運行connectedInstrumentTest需要每次運行proguard。

這是使用proguard/gradle時的正常行爲嗎?如果沒有,那麼可能會導致每次運行proguard步驟的是什麼?

注:這是不是真能爲我建立我的應用,而無需proguard的再萎縮,DEX步驟失敗,出現以下錯誤:

trouble writing output: Too many method references: 67195; max is 65536. 
+0

爲什麼你經常打電話給assembleRelease? –

回答

4

這應該Android的搖籃任務升級時,要解決的ProGuard Gradle任務版本4.10。後者有Gradle檢查輸出是否最新的必要註釋。

相關問題