Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android:解決Gradle DSL method not found: 'runProguard()' 問題

Android:解決Gradle DSL method not found: 'runProguard()' 問題

編輯:關於Android編程

將Android Studio升級至最新版(1.0 RC 4)之後,運行項目時出現問題:

Gradle DSL method not found: 'runProguard()'

從字面就能看出來,出現這個問題的原因是找不到runProguard()這個方法了(調用這個方法的地方在每個Module對應的build.gradle文件中)。

這是因為,當Android Studio升級時,也自動的將項目下的build.gradle文件(不是Module對應的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
    }
而升級之前是這樣的(以我的電腦為例,應該是類似的):

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的版本改回去,此方法可能的確有效。

但是,這種做法顯然不是最好的方法。查閱官方文檔之後(http://tools.android.com/tech-docs/new-build-system)之後發現,在新版本的gradle中,runProguard這個方法已經廢棄了,並且改為新的方法了:minifyEnabled. 因此,正確的解決方法不是修改gradle的版本號,而是將項目中每個Module對應的build.gradle文件中的runProguard方法名改為minifyEnabled,即:

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

問題完美解決。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved