Gradle DSL-Methode nicht gefunden: 'runProguard'


497

Nach dem Update von meinem letzten Projekt wird eine Fehlermeldung angezeigt. Kein Problem in meinem Code, aber ich habe Probleme mit build.gradle. Wie kann ich es reparieren?

build.gradle Code hier:

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

Ausgabe der Gradle Sync-Nachricht:

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
Versuchen Sie minifyEnabledstatt runProguard.
CommonsWare

@ CommonsWare funktioniert für mich
phmagic

Ich kann immer noch nicht glauben, dass dies so viele positive Stimmen bekommen hat. Bleiben Sie über die Änderungen hier auf dem Laufenden : tools.android.com/tech-docs/new-build-system .
Jared Burrows

nicht für mich arbeiten
Dr. aNdRO

Antworten:


819

Geben Sie hier die Bildbeschreibung einWenn Sie die Version 0.14.0 oder höher der gradle - Plugin verwenden, sollten Sie ersetzen „runProguard“ mit „minifyEnabled“ in Ihren build.gradle Dateien.

runProguard wurde umbenannt minifyEnabled in Version 0.14.0. Weitere Informationen finden Sie unter Android Build System


4
Die Quelle dafür ist hier .
Chris Cirefice

3
Es gibt zwei build.gradle-Dateien, die innere, die im App-Unterverzeichnis, die eine.
Barlop

Fehler: (26, 0) Gradle-DSL-Methode nicht gefunden: 'classpath ()' Mögliche Ursachen: Das Projekt 'Sample' verwendet möglicherweise eine Version von Gradle, die die Methode nicht enthält.
Prasad

279

Verwenden 'minifyEnabled'statt 'runProguard'richtig funktioniert.

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

Hoffe das hilft.


72

Wenn Sie auf 1.0.0 migrieren, müssen Sie die folgenden Eigenschaften ändern.

In der build.gradle- Datei des Projekts müssen Sie minifyEnabled ersetzen.

Daher sollte Ihr neuer Build-Typ sein

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

Stellen Sie außerdem sicher, dass die Gradle-Version 1.0.0 entspricht

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

in der Datei build.gradle .

Dies sollte das Problem lösen.

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


17

Durch Ändern von runProguard in minifyEnabled wird ein Teil des Problems behoben.

Das Update kann jedoch dazu führen, dass "Bibliotheksprojekte die Anwendungs-ID nicht festlegen können" (das Update finden Sie hier in Android Studio 1.0 und der Fehler "Bibliotheksprojekte können die Anwendungs-ID nicht festlegen" ).

Wenn Sie die Anwendungs-ID in der Datei build.gradle entfernen, können Sie loslegen.


Versuchen Sie, die Antwort hier zu verfolgen und geben Sie dann den Link dazu.
Codebot

Jemand hätte das schon sagen sollen. Großartig! Nachdem Sie minifyEnabled ausgeführt haben , müssen Sie dies auch in buld.gradle aller externen Bibliotheksprojekte tun.
Sud007

0

runProguard wurde umbenannt minifyEnabled in Version 0.14.0 (2014.10.31) oder mehr in Gradle.

Um dies zu beheben, müssen Sie runProguard in der Datei build.gradle Ihres Projekts in minifyEnabled ändern .

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.