標籤:android style blog io ar color sp on 檔案
Android Studio發布了新的1.0版,更新之後卻發現原來在0.8下面正常的項目編譯失敗了,從報錯上來看是卡在gradle上面。
Gradle DSL method not found: ‘runProguard()‘
找不到 runProguard() 這個方法
最終的原因很讓人無語,原來gradle的工程師跟Google負責安卓這一塊的是一個尿性!!根本就不管上下版本的開發相容性!!
Android Studio 1.0 預設採用了新版本的gradle,升級時,也會自動的將項目下的build.gradle檔案下的內容修改成了:
dependencies {classpath ‘com.android.tools.build:gradle:1.0.0-rc4‘// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
而升級之前用的gradle版本應該是0.12.2,所以之前應該是這樣的:
dependencies {classpath ‘com.android.tools.build:gradle:0.12.2‘// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
如果你的電腦中還有老版本的gradle在的話,把版本號碼改回去就能跟原來一樣正常編譯了,但是這種做法顯然不是最好的方法。
這個問題的最終解是,在新版本的gradle中,runProguard() 這個方法已經廢棄並且改為了新的方法: minifyEnabled()。因此,正確的解決方案不是修改gradle的版本號碼,而是將項目中每個Module對應的build.gradle檔案中的runProguard方法名改為 minifyEnabled(),即:
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘ } }
Android Studio:Gradle DSL method not found: 'runProguard()'