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