Metodo DSL Gradle non trovato : ' runProguard '

? abaci @ | Original: StackOverFlow

Ottengo un errore dopo l'aggiornamento dal mio ultimo progetto . Non è un problema nel mio codice, ma sto avendo problemi con build.gradle . Come posso risolvere il problema ?

Codice build.gradle qui :

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 uscita messaggio :

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 @

Se si utilizza la versione 0.14.0 o successiva del plugin Gradle, è necessario sostituire " runProguard " con " minifyEnabled " nei file build.gradle .

runProguard è stata rinominata minifyEnabled in versione 0.14.0 . Per ulteriori informazioni, http://tools.android.com/tech-docs/new-build-system



2Amitabha Biswas @

Usando ' minifyEnabled ' al posto di ' runProguard ' funziona correttamente .

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 @

Se si esegue la migrazione a 1.0.0 è necessario modificare le seguenti proprietà .

Nel file di build.gradle del Progetto è necessario sostituire minifyEnabled .

Quindi il nuovo tipo di costruzione dovrebbe essere

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

Assicurarsi inoltre che la versione è 1.0.0 Gradle come

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

nel file build.gradle .

Questo dovrebbe risolvere il problema .

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

4Sandeep Kumar @

Cambiando runProguard a minifyEnabled, parte del problema viene risolto .

Ma la correzione può causare " I progetti di libreria non possono impostare applicazione Id " (potete trovare la correzione di questo qui http://stackoverflow.com/questions/27374933/android-studio-1-0-and-error-library-projects-cannot-set-applicationid ) .

Rimuovendo applicazione Id nel file build.gradle, si dovrebbe essere pronti per partire .