Méthode de DSL Gradle introuvable: ' runProguard '

? abaci @ | Original: StackOverFlow

Je obtiens une erreur après la mise à jour de mon dernier projet. Pas un problème dans mon code, mais je ai des problèmes avec build.gradle . Comment puis-je résoudre ce problème?

Code build.gradle ici:

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 Sync sortie de message :

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 @

Si vous utilisez la version 0.14.0 ou supérieure du plugin gradle, vous devez remplacer " runProguard " par " minifyEnabled " dans vos fichiers build.gradle .

runProguard a été renommé dans la version 0.14.0 minifyEnabled . Pour plus d'informations, http://tools.android.com/tech-docs/new-build-system



2Amitabha Biswas @

Utilisation de minifyEnabled 'au lieu de ' runProguard ' fonctionne correctement.

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 @

Si vous migrez vers 1.0.0 vous devez modifier les propriétés suivantes .

Dans le fichier de build.gradle du projet vous devez remplacer minifyEnabled .

Ainsi votre nouveau type de build devrait être

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

Vérifiez également que la version 1.0.0 est comme gradle

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

dans le fichier de build.gradle .

Cela devrait résoudre le problème .

Source :  http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0

4Sandeep Kumar @

En changeant runProguard à minifyEnabled, une partie de la question se fixe .

Mais le correctif peut provoquer des «Projets de bibliothèque ne peut pas définir l'application Id " ( vous pouvez trouver le correctif pour ce ici http://stackoverflow.com/questions/27374933/android-studio-1-0-and-error-library-projects-cannot-set-applicationid ) .

En supprimant l'application Id dans le fichier build.gradle, vous devriez être bon d'aller .