web-dev-qa-db-ja.com

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

前回のプロジェクトから更新した後にエラーが発生しました。私のコードでは問題ありませんが、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**
487
abaci

enter image description here もしあなたがgradleプラグインのバージョン0.14.0以上を使っているなら、build.gradleファイルの "runProguard" "minifyEnabled" に置き換えてください。

runProguard は、バージョン0.14.0で minifyEnabled に変更されました。詳細については、 Android Build Systemを参照

814

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

お役に立てれば。

278
amitabha2715

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

72
Bhargav Jhaveri

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

しかし、この修正により「ライブラリプロジェクトはアプリケーションIDを設定できない」ことがあります(この修正はANDROID STUDIO 1.0およびエラー "ライブラリプロジェクトはアプリケーションIDを設定できません)。

Build.gradleファイルからアプリケーションIDを削除することで、うまくいくはずです。

17
Sandeep Kumar

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

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

enter image description here

0