tutorial studio minifyenabled flavors defaultconfig configurar android build android-gradle android-proguard

minifyenabled - proguard android studio obfuscation



Error: Error en la ejecuciĆ³n de la tarea '': android: transformClassesAndResourcesWithProguardForRelease'' (7)

Deberías probar esto: agrega en proguard-rules.pro

#OKhttp RULES START -dontwarn okhttp3.** -dontwarn okio.** -dontwarn javax.annotation.** #OKhttp RULES END #picasso rules START -dontwarn com.squareup.okhttp.** #picasso rules END

Cada vez que recibo este error cuando ejecuto mi proyecto. Puedo hacer una limpieza y luego ejecutar de nuevo, y funciona. Pero no es una solución óptima. ¿Algunas ideas?

Error:Execution failed for task '':android:transformClassesAndResourcesWithProguardForRelease''.

java.io.IOException: no se pudo cambiar el nombre de android / build / intermedtes / transforms / proguard / release / folder / 3 / 1f / main / classes.jar a android / build / intermedtes / transforms / proguard / release / jars / 3 / 1f / classes.jar


Eliminar minifyEnabled true de la configuración de lanzamiento funcionó para mí.


Eliminar líneas de proguard-rules.txt que contiene:

-injars , -outjars o -libraryjars

y reconstruir


En mi caso, el problema se solucionó degradando la versión Proguard utilizada por Gradle para generar el apk firmado. Puede degradarlo colocando este bloque dentro del archivo build.gradle a nivel de proyecto. Colóquelo en el bloque buildscript.

./gradlew buildEnvironment | grep proguard

Puede verificar la versión actual de Proguard ejecutando este comando en la carpeta raíz del proyecto:

Caused by: java.io.IOException: java.lang.NullPointerException at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:283) at com.android.build.gradle.internal.transforms.ProGuardTransform.access$000(ProGuardTransform.java:63) at com.android.build.gradle.internal.transforms.ProGuardTransform$1.run(ProGuardTransform.java:173) at com.android.builder.tasks.Job.runTask(Job.java:48) at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41) at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:225) Caused by: java.lang.NullPointerException at proguard.optimize.info.NonEmptyStackReturnMarker.setReturnsWithNonEmptyStack(NonEmptyStackReturnMarker.java:102) at proguard.optimize.info.NonEmptyStackReturnMarker.markReturnWithNonEmptyStack(NonEmptyStackReturnMarker.java:95) at proguard.optimize.info.NonEmptyStackReturnMarker.visitSimpleInstruction(NonEmptyStackReturnMarker.java:76) ... at proguard.optimize.Optimizer.execute(Optimizer.java:649) at proguard.ProGuard.optimize(ProGuard.java:328) at proguard.ProGuard.execute(ProGuard.java:127) at com.android.build.gradle.internal.transforms.BaseProguardAction.runProguard(BaseProguardAction.java:54) at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:254) ... 5 more

Aquí hay parte del seguimiento de la pila de Proguard para ayudar a otros a encontrar el problema que estaba teniendo.

-keepattributes EnclosingMethod


Este error ocurre cuando las versiones de SDK, Build Tools y Gradle Plugins no coinciden (en términos de compatibilidad). La solución es verificar si está utilizando las últimas versiones de ellos. Los complementos de gradle se colocan en el archivo build.gradle del proyecto. Otras versiones están en el archivo build.gradle del módulo. Por ejemplo , para SDK 23 , debe usar Build Tools 23.0.1 y gradle plugins versión 1.3.1.

Limpie el proyecto después de cambiar la configuración. (Resolvió mi problema y nunca lo volví a ver).

refiere esta pregunta



en mi caso, fueron reglas de protección después de agregarlas, funcionó bien

configurations.all { resolutionStrategy { force ''net.sf.proguard:proguard-gradle:5.2.1'' } }