88 lines
3.0 KiB
INI
88 lines
3.0 KiB
INI
##---------------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 <methods>;
|
|
}
|
|
|
|
-keepclasseswithmembernames class * {
|
|
public <init>(android.content.Context, android.util.AttributeSet);
|
|
}
|
|
|
|
-keepclasseswithmembernames class * {
|
|
public <init>(android.content.Context, android.util.AttributeSet, int);
|
|
}
|
|
|
|
# Preserve static fields of inner classes of R classes that might be accessed
|
|
# through introspection.
|
|
-keepclassmembers class **.R$* {
|
|
public static <fields>;
|
|
}
|
|
|
|
# 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 ----------
|