Android Studio无法为参数找到方法runProguard()?

时间:2014-12-01 17:25:30

标签: android android-studio android-gradle

/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/bin/java "- com.intellij.rt.execution.application.AppMain org.gradle.launcher.GradleMain --build-file /Users/Tom/Documents/Git_open_sources/android-material-drawer-template/app/build.gradle

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/Tom/Documents/Git_open_sources/android-material-drawer-template/app/build.gradle' line: 16

* What went wrong:
A problem occurred evaluating project ':app'.
> Could not find method runProguard() for arguments [false] on BuildType_Decorated{name=release, debuggable=false, testCoverageEnabled=false, jniDebuggable=false, pseudoLocalesEnabled=false, renderscriptDebuggable=false, renderscriptOptimLevel=3, applicationIdSuffix=null, versionNameSuffix=null, minifyEnabled=false, zipAlignEnabled=true, signingConfig=null, embedMicroApp=true, mBuildConfigFields={}, mResValues={}, mProguardFiles=[], mConsumerProguardFiles=[], mManifestPlaceholders={}}.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 6.741 secs

Process finished with exit code 1

apply plugin: 'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.1.0"

defaultConfig {
    applicationId "com.poliveira.apps.materialtests"
    minSdkVersion 11
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:21.0.0'
//noinspection GradleDependency
compile "com.android.support:appcompat-v7:21.0.0"
compile 'com.android.support:recyclerview-v7:21.0.0'
}    

6 个答案:

答案 0 :(得分:177)

将android studio更新为1.0 RC 3后,我遇到了同样的问题。 我无法将项目导入新版本。我必须手动创建一个新项目并将文件添加到上一个项目的新项目中。

之后我发现gradle构建文件发生了变化。

这是改变:

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

而不是“runProguard false”使用“minifyEnabled false”

答案 1 :(得分:32)

Android Studio有更新,您需要迁移Gradle配置:http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0

  • 用minifyEnabled
  • 替换runProguard
  • 将zipAlign替换为zipAlignEnabled
  • 等...

答案 2 :(得分:9)

不要在gradle文件中使用runProguard,请尝试使用minifyEnabled。这应该解决问题。 runProguard已被弃用,很快就会停止工作。

注意 - 要使用minifyEnabled,请将gradle更新为2.2或更高版本。

答案 3 :(得分:8)

适合我(在更新到1.0"最终"之后):

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

还应该更新: Gradle 2.2(或以上), " SDK-工具&#34 ;, 支持存储库, 支持库, 游戏服务, 等,等,

答案 4 :(得分:2)

不要忘记将所有renderscriptSupportMode更改为renderscriptSupportModeEnabled!

也是所有libs项目中的人员

答案 5 :(得分:0)

你需要做几件事才能从0.9迁移到1.0 见http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0