Méthode Gradle DSL introuvable: 'runProguard'

497

Je reçois une erreur après la mise à jour de mon dernier projet. Pas de problème dans mon code mais j'ai des problèmes avec build.gradle. Comment puis-je le réparer?

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'
}

Sortie du message Gradle Sync:

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**
abaci
la source
132
Essayez minifyEnabledau lieu de runProguard.
CommonsWare
@CommonsWare fonctionne pour moi
phmagic
Je ne peux toujours pas croire que cela ait eu autant de votes positifs. Restez à jour avec les changements ici: tools.android.com/tech-docs/new-build-system .
Jared Burrows
ne travaille pas pour moi
Dr. aNdRO

Réponses:

819

entrez la description de l'image iciSi 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é en minifyEnabled dans la version 0.14.0. Pour plus d'informations, voir Android Build System

Babatunde Adeyemi
la source
4
La source de ceci est ici .
Chris Cirefice
3
il y a deux fichiers build.gradle, celui interne, celui du sous-répertoire de l'application, est celui-là.
barlop
Erreur: (26, 0) Méthode DSL Gradle introuvable: 'classpath ()' Causes possibles: Le projet 'Sample' peut utiliser une version de Gradle qui ne contient pas la méthode.
Prasad
279

Utiliser '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'
        }
    }

J'espère que cela t'aides.

amitabha2715
la source
72

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

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

Par conséquent, votre nouveau type de construction doit être

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

Assurez-vous également que la version Gradle est 1.0.0 comme

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

dans le fichier build.gradle .

Cela devrait résoudre le problème.

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

Bhargav Jhaveri
la source
17

En changeant runProguard en minifyEnabled , une partie du problème est corrigée.

Mais le correctif peut provoquer «Les projets de bibliothèque ne peuvent pas définir l'ID d'application» (vous pouvez trouver le correctif ici Android Studio 1.0 et l'erreur «Les projets de bibliothèque ne peuvent pas définir applicationId» ).

En supprimant l'ID d'application dans le fichier build.gradle, vous devriez être prêt à partir.

Sandeep Kumar
la source
Essayez de tracer la réponse ici, puis donnez-lui le lien.
codebot
Quelqu'un aurait déjà dû le dire. Génial! Après avoir fait minifyEnabled , vous devez également le faire dans buld.gradle de tous les projets de bibliothèque externe.
sud007
0

runProguard a été renommé minifyEnabled dans la version 0.14.0 (2014/10/31) ou plus dans Gradle.

Pour résoudre ce problème, vous devez remplacer runProguard par minifyEnabled dans le fichier build.gradle de votre projet.

entrez la description de l'image ici

Biswajit Karmakar
la source