Tor Norbye | 940b0f9 | 2012-12-12 15:52:52 -0800 | [diff] [blame] | 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. |
Jeff Davidson | 19ffb65 | 2015-01-07 12:29:15 -0800 | [diff] [blame] | 13 | -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*,!class/unboxing/enum |
Tor Norbye | 940b0f9 | 2012-12-12 15:52:52 -0800 | [diff] [blame] | 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.** |