Метод DSL Gradle не найден: " runProguard "

? abaci @ | Original: StackOverFlow

Я получаю ошибку после обновления с моего последнего проекта. Непроблема в моем коде, но у меня возникают проблемы с build.gradle . Как я могу это исправить?

build.gradle код здесь:

apply plugin: 'android'

android {
    compileSdkVersion 21
    buildToolsVersion '20.0.0'

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
    }

    defaultConfig {
        applicationId 'com.xxx.axxx'
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 6
        versionName '1.0'
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
    compile files('libs/commons-codec-1.8.jar')
    compile files('libs/asmack-android-8-4.0.4.jar')
    compile 'com.android.support:support-v4:21.0.0'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.jakewharton:butterknife:5.1.1'
}

Gradle синхронизации сообщение выход:

Error:(27, 0) Gradle DSL method not found: 'runProguard()'
**Possible causes:
The project 'Atomic4Mobile' may be using a version of Gradle that does not contain the method.
**Gradle settings**
The build file may be missing a Gradle plugin.
**Apply Gradle plugin**


Top 5 Respuesta

1Babatunde Adeyemi @

Если вы используете версию 0.14.0 или выше по Gradle плагина, вы должны заменить " runProguard " с " minifyEnabled " в файлах build.gradle .

runProguard был переименован в minifyEnabled в версии 0.14.0 . Для получения дополнительной информации, http://tools.android.com/tech-docs/new-build-system



2Amitabha Biswas @

Использование minifyEnabled 'вместо' runProguard 'работает должным образом.

Previous code :

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

Current code :

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
3Bhargav Jhaveri @

Если вы переходите на 1.0.0 вам нужно изменить следующие свойства.

В файле build.gradle Проекта необходимо заменить minifyEnabled .

Поэтому ваш новый тип сборки должна быть

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

Также убедитесь, что Gradle версия 1.0.0 как

classpath 'com.android.tools.build:gradle:1.0.0'

в файле build.gradle .

Это должно решить проблему.

Источник:  http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0

4Sandeep Kumar @

Изменяя runProguard в minifyEnabled, часть вопроса фиксируется .

Ноисправить может привести к " Проекты библиотеки не можете установить идентификатор приложения " (вы можете найти исправление для этого здесь http://stackoverflow.com/questions/27374933/android-studio-1-0-and-error-library-projects-cannot-set-applicationid ) .

При удалении приложения Id в файле build.gradle, вы должны быть хорошо идти.