web-dev-qa-db-fra.com

Méthode DSL Gradle introuvable: 'runProguard'

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

le code de 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**
491
abaci

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

815
Babatunde Adeyemi

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

J'espère que cela t'aides.

279
amitabha2715

Si vous migrez vers la version 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 de 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-

72
Bhargav Jhaveri

En remplaçant runProguard par minifyEnabled , une partie du problème est corrigée.

Mais le correctif peut causer "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'application Id dans le fichier build.gradle, vous devriez pouvoir continuer.

17
Sandeep Kumar

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

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

enter image description here

0