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**

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


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.


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


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.


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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.