Gradle и proguard: не удалось найти метод runProguard () для аргументов

Я настроил build.gradle, как это было предложено руководством Proguard Gradle

Это root build.gradle

buildscript { repositories { flatDir dirs: '/home/username/android-sdks/tools/proguard/lib' mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' classpath ':proguard' } } 

Теперь это build.gradle для моего проекта

 apply plugin: 'android' dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile project(':SomeLibraryProject') } android { compileSdkVersion 19 buildToolsVersion "19.0.0" sourceSets { ... } task runProguardTask(type: proguard.gradle.ProGuardTask) { } signingConfigs { debug { storeFile file("./keystore/keystore") storePassword "******" keyAlias "******" keyPassword "*******" } release { runProguard true proguardFile 'proguard-android.txt' storeFile file("./releasekey/keystore") storePassword "******" keyAlias "********" keyPassword "*******" } } buildTypes { release { signingConfig signingConfigs.release } } } 

И это результат

 $ ./gradlew build FAILURE: Build failed with an exception. * Where: Build file '/home/username/Documents/eclipse/workspace/repo/ProjectName/build.gradle' line: 49 * What went wrong: A problem occurred evaluating project ':ProjectName'. > Could not find method runProguard() for arguments [true] on SigningConfigDsl_Decorated{name=release, storeFile=null, storePassword=null, keyAlias=null, keyPassword=null, storeType=null}. * 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: 9.14 secs 

Я также задаюсь вопросом, почему storeFile, storePassword, keyAlias ​​и keyPassword имеют значение NULL?

Ошибки, подобные этому, являются общими из-за неправильных имен свойств DSL. Убедитесь, что вы указали правильные значения: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard на вашем build.gradle :

 android { buildTypes { release { minifyEnabled true proguardFile getDefaultProguardFile('proguard-android.txt') } } } 

Вы можете найти javadoc со всеми свойствами здесь (нажмите кнопку загрузки DSL-ссылки btn): http://developer.android.com/tools/building/plugin-for-gradle.html


Обновление с 2014-11-24:

Несколько свойств были переименованы в плагин 0.14.0 gradle. runProguard -> minifyEnabled проверьте ответ от Alécio и следуйте за последним списком изменений здесь: http://tools.android.com/tech-docs/new-build-system

RunProguard устарел (и скоро перестанет работать); Вместо этого измените на " minifyEnabled "

 ... buildTypes { release { minifyEnabled true .... 
 runProguard is deprecated after gradle build tools version 1.0.0-rc1 Running ProGuard ProGuard is supported through the Gradle plugin for ProGuard version 4.10. The ProGuard plugin is applied automatically, and the tasks are created automatically if the Build Type is configured to run ProGuard through the minifyEnabled property. android { buildTypes { release { minifyEnabled true proguardFile getDefaultProguardFile('proguard-android.txt') } } productFlavors { flavor1 { } flavor2 { proguardFile 'some-other-rules.txt' } } }