Android Studio找不到runProguard()方法的解决方法是什么?

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

这是哪个版本的Android Studio和Android Gradle插件呢? - Scott Barta
5
可能是[Error:(26, 0) Gradle DSL method not found: 'runProguard()']的重复问题。 - Jason Robinson
Android Studio的版本是1.0 rc。 - Tom_Love_Jerry
甚至对我来说也是同样的问题。同样是 AS 1.0 RC 版本。我导入了在 AS 0.8 中开发的项目... - Naresh
6个回答

186

我在更新Android Studio到1.0 RC 3后遇到了同样的问题。我无法将我的项目导入新版本。我不得不手动创建一个新项目,并从以前的项目中添加文件到新项目中。

之后,我在gradle构建文件中发现了一个更改。

这里是更改内容:

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

使用"minifyEnabled false"代替"runProguard false"


对我来说没问题(更新到1.0“final”后)。 还应该更新: Gradle 2.2(或更高版本) “SDK-工具” 支持库 支持库 Play服务 等等。 - ieselisra
非常好的答案!谢谢!对我也起作用了。 - Jonathan Perry

35

你在哪里找到zipAlign? - tinonetic
它在build.gradle文件中(但是如果您想自动对齐APK,则是可选的) - Gautier Drusch

12

1.0 "final"更新后对我有效:

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

也需要进行更新: Gradle 2.2(或更高版本), "SDK-Tools", 支持库, 支持库, Play服务, 等等,


10

不要在gradle文件中使用runProguard,尝试使用minifyEnabled。这应该可以解决问题。runProguard已经过时,并且很快将停止工作。

注意 - 要使用minifyEnabled,gradle必须更新到2.2或更高版本。


2

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

还有那些在你所有库项目中的人。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接