Aquí es mi Proguard config (lo copié de la carpeta herramientas androide y añadido algunas líneasNo se puede reducir ráfaga con Proguard
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification
-dontpreverify
# The remainder of this file is identical to the non-optimized version
# of the Proguard configuration file (except that the other file has
# flags to turn off optimization).
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
native <methods>;
}
# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}
# We want to keep methods in Activity that could be used in the XML attribute onClick
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontwarn android.support.**
######################
# added by me
########################
# guava
-keepclasseswithmembers class com.google.common.base.internal.Finalizer{
<methods>;
}
-dontwarn sun.misc.Unsafe
-dontwarn com.google.common.collect.MinMaxPriorityQueue
#
#Action Bar Sherlock
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
#-dontobfuscate
#-libraryjars libs/FlurryAgent.jar
me gustaría utilizar la ráfaga en mi aplicación, pero cuando intento para ofuscar mi aplicación con la FlurryAgen.jar Proguard no decir una dosens de errores de la siguiente manera:.
Warning: com.flurry.android.ay: can't find referenced class com.google.ads.AdListener
también Proguard falla cuando intento de no confundir las fuentes
Cómo utilizar ráfaga con Proguard 012?¿Y cómo hacer proguard para no ofuscar mis fuentes?
ACTUALIZACIÓN También he mencionado que el FlurryAgent.jar parece ya ofuscado - http://korniltsev.ru/p/jBU0f1c.png. ¿Puede ser que podamos ignorar la reducción de toda la jarra?
¿ha podido verificar que Flurry todavía está recopilando estadísticas correctamente en la práctica, dado el '-dontwarn com.flurry. **'? Estoy en la misma situación tratando de usar Proguard en una aplicación que hace uso de Flurry, pero soy un poco cauteloso cuando se trata de usar 'dontwarn' dado que realmente no entiendo lo que está pasando. –
Seguimiento: solo para agregar un poco de autoridad a su respuesta, acabo de volver a descargar el SDK de Flurry para Android y en el archivo * FlurryAds-READMEv3.0.5.pdf *, al final, hay una sección muy breve que lee: * 7. Uso de ProGuard (Opcional) Si planea ejecutar ProGuard en su APK antes de liberar su aplicación, deberá agregar lo siguiente a su archivo "proguard.cfg": -keep class com.flurry. ** {*; } -dontwarn com.flurry. ** * Así que supongo que usaré este método, aunque ignorar estas muchas advertencias me hace sentir algo incómodo. –