Error: (26, 0) No se encontró el método Gradle DSL: ‘runProguard ()’

Estoy usando android studio 0.9.3 con gradle 'com.android.tools.build:gradle:0.14.+'

aplicar el complemento: ‘com.android.application’

 android { compileSdkVersion 19 buildToolsVersion '20.0.0' defaultConfig { applicationId "xxx.xxx.xxx" minSdkVersion 16 targetSdkVersion 19 versionCode 1 versionName "1.0.11" } signingConfigs{ releaseConfig{ storeFile file("xxxxxxx") storePassword = "xxxx" keyAlias = "xxxx" keyPassword = "xxxx" } } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.releaseConfig // adds version to file name applicationVariants.all { variant -> def file = variant.outputFile variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) } } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // You must install or update the Support Repository through the SDK manager to use this dependency. // You must install or update the Support Repository through the SDK manager to use this dependency. // You must install or update the Google Repository through the SDK manager to use this dependency. // You must install or update the Support Repository through the SDK manager to use this dependency. compile 'com.android.support:support-v4:19.+' compile 'com.android.support:appcompat-v7:19.+' compile 'com.mcxiaoke.volley:library:1.0.6' compile 'com.google.code.gson:gson:2.2.+' } 

El proyecto comstackdo antes sin ningún cambio en ese archivo, recibo: Error: (26, 0) No se encontró el método Gradle DSL: ‘runProguard ()’

¿Cómo arreglar eso?

Por lo que sé, runProguard fue reemplazado por minifyEnabled . Todavía no estoy seguro de cómo definir la configuración para Proguard, pero una búsqueda en Google debería ayudarlo a averiguarlo.

Editar:

Para el outFile lea aquí: https://groups.google.com/forum/#!topic/adt-dev/4_-5NvxuFB0 cómo lo hacen.

En resumen: utilizaron una versión más compleja:

 applicationVariants.all { variant -> variant.outputs.each { output -> def apk = output.outputFile; def newName; // newName = apk.name.replace(".apk", "-v" + defaultConfig.versionName + "-" + variant.buildType.name.toUpperCase() + ".apk"); if (variant.buildType.name == "release") { newName = apk.name.replace(".apk", "-v" + defaultConfig.versionName + "-release.apk"); } else { newName = apk.name.replace(".apk", "-v" + defaultConfig.versionName + "-beta.apk"); } output.outputFile = new File(apk.parentFile, newName); if (output.zipAlign) { output.outputFile = new File(apk.parentFile, newName.replace("-unaligned", "")); } logger.info('INFO: Set outputFile to ' + output.outputFile + " for [" + output.name + "]"); } } 

En lugar de usar runProguard en su archivo gradle, intente usar minifyEnabled . Esto debería solucionar el problema. runProguard está en desuso y pronto dejará de funcionar.

EDITAR

Para usar minifyEnabled , gradle debe actualizarse a la versión 2.2 o superior.

El cambio en el archivo build.gradle de la aplicación puede ayudar:

antiguo:

 buildTypes { release { runProguard false // this line has to be changed proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 

nuevo:

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

A partir de Gradle 0.14.4 , estos errores se informan como errores en tiempo de comstackción.

Por lo tanto, debe reemplazar la runProguard false/true de minifyEnabled false/true con minifyEnabled false/true

Los cambios se enumeran en el Blog de Desarrolladores de Android .

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

Solo agrega esto.

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

minifyEnabled false Significa que los nombres de Build Type no pueden ser main o androidTest (esto es impuesto por el plugin), y que tienen que ser únicos entre sí.

La nueva versión del complemento Gradle Android puede eliminar automáticamente los recursos no utilizados. La gran victoria aquí es que elimina los recursos no utilizados no solo de su propio código, sino más importante de las bibliotecas que está utilizando (por ejemplo, donde hay recursos incluidos para admitir características que en realidad no usa desde su aplicación).

La migración de los proyectos de Gradle a la versión 1.0.0 necesita un trabajo de cambio de nombre fácil, todo se describe aquí: http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0

Para Proguard simplemente puede cambiar el nombre ‘runProguard’ => ‘minifyEnabled’, para los demás ver a continuación:

 Renamed Properties in BuildTypes: runProguard => minifyEnabled zipAlign => zipAlignEnabled jniDebugBuild => jniDebuggable renderscriptDebug => renderscriptDebuggable Renamed Properties in ProductFlavors: flavorGroups => flavorDimensions packageName => applicationId testPackageName => testApplicationId renderscriptSupportMode => renderscriptSupportModeEnabled ProductFlavor.renderscriptNdkMode => renderscriptNdkModeEnabled Other Name changes InstrumentTest was renamed to androidTest. 

Esto se debe a la actualización de las herramientas gradle de Android a 0.14.3. En su archivo “build.gradle” reemplace

 classpath 'com.android.tools.build:gradle:0.14.+' 

por:

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

Hasta que lo arreglen …

runProguard ha cambiado su nombre a minifyEnabled en la versión 0.14.0 (31/10/10) de Gradle.

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

enter image description here