Gradle DSLメソッドが見つかりません: 'runProguard'


497

最後のプロジェクトから更新した後、エラーが発生します。コードには問題ありませんが、build.gradleに問題があります。どうすれば修正できますか?

ここにbuild.gradleコード:

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メッセージ出力:

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
minifyEnabled代わりに試してくださいrunProguard
CommonsWare 2014年

@CommonsWareは私のために働く
phmagic 2014年

私はまだこれが非常に多くの賛成を得たとは信じられません。ここでの変更を最新の状態に保ちます:tools.android.com/tech-docs/new-build-system
Jared Burrows

私のために働いていない
aNdRO博士

回答:


819

ここに画像の説明を入力してくださいGradleプラグインのバージョン0.14.0以降を使用している場合は、build.gradleファイルで「runProguard」「minifyEnabled」に置き換える必要があります。

runProguardは、バージョン0.14.0でminifyEnabledに名前が変更されました。詳しくは、Androidビルドシステムをご覧ください。


4
このソースはこちらです。
Chris Cirefice 14

3
2つのbuild.gradleファイルがあり、内部の1つはappサブディレクトリにあります。
Barlop、2015年

エラー:(26、0)Gradle DSLメソッドが見つかりません: 'classpath()'考えられる原因:プロジェクト 'Sample'は、メソッドを含まないバージョンのGradleを使用している可能性があります。
Prasad

279

'minifyEnabled'代わりに使用すると、'runProguard'正しく動作します。

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

お役に立てれば。


72

1.0.0に移行する場合は、次のプロパティを変更する必要があります。

プロジェクトのbuild.gradleファイルで、minifyEnabledを置き換える必要があります。

したがって、新しいビルドタイプは

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

また、gradleのバージョンが1.0.0であることを確認してください

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

build.gradleのファイル。

これで問題が解決するはずです。

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


17

runProguardminifyEnabledに変更すると、問題の一部が修正されます。

ただし、修正により「ライブラリプロジェクトはアプリケーションIDを設定できません」が発生する可能性があります(この修正はAndroid Studio 1.0で見つかり、「ライブラリプロジェクトはアプリケーションIDを設定できません」というエラーが見つかります)。

build.gradleファイルでアプリケーションIDを削除することで、問題ありません。


ここで答えをたどってみて、それへのリンクを与えてください。
codebot、2015

誰かがすでにそれを言っているべきだった。すごい!行った後minifyEnabledを、だけでなく、すべての外部ライブラリプロジェクトのbuld.gradleにも、この操作を行う必要があります。
sud007 2015年

0

runProguardは、Gradleのバージョン0.14.0(2014/10/31)以降で、minifyEnabledに名前が変更されました。

これを修正するには、プロジェクトのbuild.gradleファイルでrunProguardをminifyEnabledに変更する必要があります。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.