Gradle DSL yöntemi bulunamadı: 'runProguard'


497

Son projemden güncelledikten sonra bir hata alıyorum. Kodumda bir sorun değil ama build.gradle ile sorun yaşıyorum. Nasıl düzeltebilirim?

build.gradle kodu burada:

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 mesaj çıkışı:

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
minifyEnabledBunun yerine deneyin runProguard.
CommonsWare

@CommonsWare benim için çalışıyor
phmagic

Hala bu kadar çok oy aldığını düşünemiyorum. Buradaki değişikliklerden haberdar olun : tools.android.com/tech-docs/new-build-system .
Jared Burrows

benim için çalışmıyor
Dr. aNdRO

Yanıtlar:


819

resim açıklamasını buraya girinSınıf eklentisinin 0.14.0 veya daha yeni bir sürümünü kullanıyorsanız, "runProguard " öğesini build.gradle dosyalarınızda "minifyEnabled" ile değiştirmelisiniz .

runProguard 0.14.0 sürümünde minifyEnabled olarak yeniden adlandırıldı . Daha fazla bilgi için bkz. Android Derleme Sistemi


4
Bunun kaynağı burada .
Chris Cirefice

3
iki build.gradle dosyası vardır, iç dosya, uygulama alt dizinindeki dosya.
barlop

Hata: (26, 0) Gradle DSL yöntemi bulunamadı: 'classpath ()' Olası nedenler: 'Sample' projesi Gradle'ın yöntemi içermeyen bir sürümünü kullanıyor olabilir.
Prasad

279

Kullanma 'minifyEnabled'yerine 'runProguard'düzgün işler.

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

Bu yardımcı olur umarım.


72

1.0.0'a geçiş yapıyorsanız, aşağıdaki özellikleri değiştirmeniz gerekir.

Projenin build.gradle dosyasında minifyEnabled ' i değiştirmeniz gerekir.

Bu nedenle yeni yapı türünüz

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

Ayrıca gradle sürüm 1.0.0 gibi olduğundan emin olun

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

içinde build.gradle dosyası.

Bu sorunu çözmelidir.

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


17

RunProguard öğesini minifyEnabled olarak değiştirerek , sorunun bir kısmı giderilir .

Ancak düzeltme "Kütüphane Projeleri uygulama kimliğini ayarlayamaz" (bunun için düzeltmeyi burada Android Studio 1.0 ve "Kütüphane projeleri applicationId ayarlayamaz" hatası bulabilirsiniz ) neden olabilir.

Build.gradle dosyasındaki uygulama kimliğini kaldırarak, gitmek için iyi olmalısınız.


Cevabı burada takip etmeye çalışın ve ardından bağlantıyı verin.
codebot

Birisi bunu zaten söylemeliydi. Harika! MinifyEnabled yaptıktan sonra , tüm dış kütüphane projelerinin de buld.gradle'de bunu yapmanız gerekir.
sud007

0

runProguard , Gradle'da 0.14.0 (2014/10/31) veya daha sonraki sürümlerde minifyEnabled olarak yeniden adlandırıldı .

Bunu düzeltmek için runProguard'ı projenizin build.gradle dosyasında minifyEnabled olarak değiştirmeniz gerekir .

resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.