update tools studio para full descargar configurar android android-gradle android-gradle-plugin

android - tools - Error:(26, 0) Método DSL Gradle no encontrado: ''runProguard()''



gradle version android studio (8)

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

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

Los cambios se enumeran en el tools.android.com/tech-docs/new-build-system .

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

aplique 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 compilado antes sin ningún cambio en ese archivo, obtengo : Error: (26, 0) No se encontró el método Gradle DSL: ''runProguard ()''

¿Cómo arreglar eso?


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


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.


Esto se debe a la actualización de las herramientas de Android Gradle 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 ...


Hasta donde sé, runProguard fue reemplazado por minifyEnabled . Todavía no estoy seguro de cómo definir la configuración de proguard, pero una búsqueda en Google debería ayudarlo a descubrirlo.

Editar:

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

En resumen: usaron 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 + "]"); } }


La migración de Gradle Projects 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 de ''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.


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

Solo agrega esto.

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

Los nombres de tipo de compilación de medios minifyEnabled false no pueden ser main o androidTest (esto se aplica mediante el complemento), y deben ser únicos entre sí.

La nueva versión del complemento Android Gradle 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 funciones que no está utilizando realmente desde su aplicación).


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

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