全部博文(237)
分类: 嵌入式
2011-11-11 14:20:44
##---------------Begin: proguard configuration common for all Android apps ---------- |
-optimizationpasses 5 |
-dontusemixedcaseclassnames |
-dontskipnonpubliclibraryclasses |
-dontskipnonpubliclibraryclassmembers |
-dontpreverify |
-verbose |
-dump class_files.txt |
-printseeds seeds.txt |
-printusage unused.txt |
-printmapping mapping.txt |
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* |
-allowaccessmodification |
-keepattributes *Annotation* |
-renamesourcefileattribute SourceFile |
-keepattributes SourceFile,LineNumberTable |
-repackageclasses '' |
-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 |
-dontnote com.android.vending.licensing.ILicensingService |
# Explicitly preserve all serialization members. The Serializable interface |
# is only a marker interface, so it wouldn't save them. |
-keepclassmembers class * implements java.io.Serializable { |
static final long serialVersionUID; |
private static final java.io.ObjectStreamField[] serialPersistentFields; |
private void writeObject(java.io.ObjectOutputStream); |
private void readObject(java.io.ObjectInputStream); |
java.lang.Object writeReplace(); |
java.lang.Object readResolve(); |
} |
# Preserve all native method names and the names of their classes. |
-keepclasseswithmembernames class * { |
native |
} |
-keepclasseswithmembernames class * { |
public |
} |
-keepclasseswithmembernames class * { |
public |
} |
# Preserve static fields of inner classes of R classes that might be accessed |
# through introspection. |
-keepclassmembers class **.R$* { |
public static |
} |
# Preserve the special static methods that are required in all enumeration classes. |
-keepclassmembers enum * { |
public static **[] values(); |
public static ** valueOf(java.lang.String); |
} |
-keep public class * { |
public protected *; |
} |
-keep class * implements android.os.Parcelable { |
public static final android.os.Parcelable$Creator *; |
} |
##---------------End: proguard configuration common for all Android apps ---------- |
##---------------Begin: proguard configuration for Gson ---------- |
# Gson uses generic type information stored in a class file when working with fields. Proguard |
# removes such information by default, so configure it to keep all of it. |
-keepattributes Signature |
# Gson specific classes |
-keep class sun.misc.Unsafe { *; } |
#-keep class com.google.gson.stream.** { *; } |
# Application classes that will be serialized/deserialized over Gson |
-keep class com.google.gson.examples.android.model.** { *; } |
##---------------End: proguard configuration for Gson ---------- |