1 # This is a configuration file for ProGuard. 2 # http://proguard.sourceforge.net/index.html#manual/usage.html 3 4 # Optimizations: If you don't want to optimize, use the 5 # proguard-android.txt configuration file instead of this one, which 6 # turns off the optimization flags. Adding optimization introduces 7 # certain risks, since for example not all optimizations performed by 8 # ProGuard works on all versions of Dalvik. The following flags turn 9 # off various optimizations known to have issues, but the list may not 10 # be complete or up to date. (The "arithmetic" optimization can be 11 # used if you are only targeting Android 2.0 or later.) Make sure you 12 # test thoroughly if you go this route. 13 -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* 14 -optimizationpasses 5 15 -allowaccessmodification 16 -dontpreverify 17 18 # The remainder of this file is identical to the non-optimized version 19 # of the Proguard configuration file (except that the other file has 20 # flags to turn off optimization). 21 22 -dontusemixedcaseclassnames 23 -dontskipnonpubliclibraryclasses 24 -verbose 25 26 -keepattributes *Annotation* 27 -keep public class com.google.vending.licensing.ILicensingService 28 -keep public class com.android.vending.licensing.ILicensingService 29 30 # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native 31 -keepclasseswithmembernames class * { 32 native <methods>; 33 } 34 35 # keep setters in Views so that animations can still work. 36 # see http://proguard.sourceforge.net/manual/examples.html#beans 37 -keepclassmembers public class * extends android.view.View { 38 void set*(***); 39 *** get*(); 40 } 41 42 # We want to keep methods in Activity that could be used in the XML attribute onClick 43 -keepclassmembers class * extends android.app.Activity { 44 public void *(android.view.View); 45 } 46 47 # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations 48 -keepclassmembers enum * { 49 public static **[] values(); 50 public static ** valueOf(java.lang.String); 51 } 52 53 -keep class * implements android.os.Parcelable { 54 public static final android.os.Parcelable$Creator *; 55 } 56 57 -keepclassmembers class **.R$* { 58 public static <fields>; 59 } 60 61 # The support library contains references to newer platform versions. 62 # Don't warn about those in case this app is linking against an older 63 # platform version. We know about them, and they are safe. 64 -dontwarn android.support.** 65