blob: 178b50e32521c7b48db8350f7bed768369ee425d [file]
# Keep the "Exceptions" attribute, so the compiler knows which exceptions methods may throw.
# Keep the "InnerClasses" attribute, so the compiler could find the inner classes.
# Keep the "Signature" attribute, so the compiler could access generic types when compiling in JDK 5.0 and higher.
-keepattributes Exceptions,InnerClasses,Signature
# Keep all the classes in packages used by Chrome
-keep class com.google.android.gms.auth.**,
com.google.android.gms.cast.**,
com.google.android.gms.common.**
{
*;
}
# Resources will be added in the later buildstep.
-dontwarn com.google.android.gms.R**
# appears to work. See http://crbug.com/485498
-dontnote com.google.android.gms.common.data.DataBuffer
-dontnote com.google.android.gms.common.internal.**
-dontnote com.google.android.gms.common.images.ImageManager**
-dontnote com.google.android.gms.dynamic.**
-dontnote com.google.android.gms.internal.**
-dontnote com.google.android.gms.maps.internal.**
-dontnote com.google.android.gms.wallet.**
# Keep all enum values and valueOf methods. See
# http://proguard.sourceforge.net/index.html#manual/examples.html
# for the reason for this. Also, see http://crbug.com/248037.
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# Preserve sufficient information for simple Serializable classes.
-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();
}
# https://developer.android.com/google/play-services/setup.html#Proguard
# From proguard.txt in GMS Core Client library
-keep class * extends java.util.ListResourceBundle {
protected java.lang.Object[][] getContents();
}
# Keep SafeParcelable value, needed for reflection. This is required to support backwards
# compatibility of some classes.
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
# Keep the names of classes/members we need for client functionality.
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
# Needed for Parcelable/SafeParcelable Creators to not get stripped
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}