sourcesets productflavors last flavors flavor defaultconfig app android gradle android-gradle android-gradle-plugin

android - productflavors - Método DSL Gradle no encontrado: ''runProguard''



build gradle defaultconfig (5)

Recibo un error después de actualizar desde mi último proyecto. No es un problema en mi código, pero tengo problemas con build.gradle. ¿Cómo puedo arreglarlo?

Código build.gradle aquí:

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

Salida del mensaje 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**


Al cambiar runProguard a minifyEnabled , se soluciona parte del problema.

Pero la solución puede causar "Los proyectos de la biblioteca no pueden establecer el ID de la aplicación" (puede encontrar la solución para esto aquí Android Studio 1.0 y el error "Los proyectos de la biblioteca no pueden establecer el ID de la aplicación" ).

Al eliminar el ID de la aplicación en el archivo build.gradle, debería estar listo.


Si está migrando a 1.0.0, debe cambiar las siguientes propiedades.

En el archivo build.gradle del proyecto, debe reemplazar minifyEnabled.

Por lo tanto, su nuevo tipo de compilación debería ser

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

También asegúrese de que la versión de Gradle sea 1.0.0 como

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

en el archivo build.gradle .

Esto deberia resolver el problema.

Fuente: here


Usar ''minifyEnabled'' lugar de ''runProguard'' funciona correctamente.

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

Espero que esto ayude.


Si está utilizando la versión 0.14.0 o superior del complemento gradle, debe reemplazar "runProguard" con "minifyEnabled" en sus archivos build.gradle.

runProguard fue renombrado para minifyEnabled en la versión 0.14.0. Para obtener más información, tools.android.com/tech-docs/new-build-system


runProguard ha cambiado de nombre a minifyEnabled en la versión 0.14.0 (31/10/2014) o más en Gradle.

Para solucionar esto, debe cambiar runProguard para minifyEnabled en el archivo build.gradle de su proyecto.