Hier meine proguard config (i kopiert es von Android Tools Ordner und fügte einige ZeilenKann nicht Flut schrumpfen mit 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
ich Flurry in meiner App nutzen möchten, aber wenn ich versuche zu verschleiern meine app mit FlurryAgen.jar schlägt die proguard ein dosen von Fehlern wie dies sagte:.
Warning: com.flurry.android.ay: can't find referenced class com.google.ads.AdListener
auch proguard schlägt fehl, wenn ich nicht versuchen, die Quellen zu verschleiern
Wie mit proguard Aufregung verwenden 012?Und wie man proguard macht, um meine Quellen nicht zu verschleiern?
UPDATE Auch erwähnte ich, dass der FlurryAgent.jar schon verschleiertes scheint - http://korniltsev.ru/p/jBU0f1c.png. Kann es sein, dass wir ignorieren können, wie das ganze Glas schrumpft?
Kannst du bestätigen, dass Flurry in der Praxis immer noch korrekt Statistiken sammelt, wenn er '-dontwarn com.flurry. **'? Ich bin in der gleichen Situation, in der ich versuche, Proguard auf einer Anwendung zu verwenden, die Gebrauch von Flurry macht, bin aber ein wenig vorsichtig, wenn es darum geht, 'dontwarn' zu verwenden, da ich nicht wirklich verstehe, was vor sich geht. –
Follow-up: nur um ein wenig Autorität zu Ihrer Antwort hinzufügen, ich habe gerade heruntergeladen Flurry Android SDK und in der Datei * FlurryAds-READMEv3.0.5.pdf *, ganz am Ende gibt es einen sehr kurzen Abschnitt, der liest: * 7. Verwenden von ProGuard (optional) Wenn Sie planen, ProGuard auf Ihrem APK auszuführen, bevor Sie Ihre App veröffentlichen, müssen Sie Ihrer "proguard.cfg" -Datei Folgendes hinzufügen: -keep class com.flurry. ** {*; } -dontwarn com.flurry. ** * Also ich denke, ich werde diese Methode verwenden, obwohl das Ignorieren dieser vielen Warnungen mich etwas unbequem macht. –