tutorial studio ofuscar ofuscacion minifyenabled features codigo android obfuscation proguard dalvik

studio - Usando Proguard con Android sin ofuscación



proguard features (2)

Agregar! Código / asignación / variable es una solución alternativa para el fallo del programa cuando -dontobfuscate se establece en sus -optimizaciones

Por ejemplo

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable

Recibo el mensaje de error "La conversión al formato Dalvik falló con el error 1" al utilizar el indicador -dontobfuscate. De lo contrario mi aplicación exporta bien. No quiero ofuscarme porque estoy usando BugSense para el seguimiento de errores y cobran $ 99 al mes si necesita desenfocar sus huellas de pila. Todavía quiero obtener el tamaño de archivo y los beneficios de optimización de proguard.

Si hago un comentario -dontobfuscate cada cosa funciona muy bien. Excepto por los rastros ilegibles de la pila.

mi archivo progaurd.cfg:

-dontobfuscate -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keepclasseswithmembernames class * { native <methods>; } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; }

También aceptaré una respuesta que me apunte en la dirección correcta. ¿Hay un archivo de registro que debería estar viendo?


Debe asegurarse de estar usando la última versión del SDK de Android o al menos la última versión de ProGuard (versión 4.7 en este momento de la escritura) dentro del SDK (android-sdk / tools / proguard / lib / proguard.jar) .