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).
Funciona cuando modifica minifyEnabled a falso.
consulte este APK firmado de Android Studio '': aplicación: transformClassesAndResourcesWithProguardForRelease''
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''
}
}