| # |
| # This file was derived from the Android SDK default configuration in tools/lib/proguard.cfg, |
| # with changes/additions explicitly commented where made |
| # |
| -optimizationpasses 5 |
| -dontusemixedcaseclassnames |
| -dontskipnonpubliclibraryclasses |
| -dontpreverify |
| # Change: SDK defaults + code/allocation/variable required to disable proguard optimization bug |
| -verbose |
| -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable |
| |
| -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 |
| # Change: not needed |
| #-keep public class com.android.vending.licensing.ILicensingService |
| |
| -keepclasseswithmembernames class * { |
| native <methods>; |
| } |
| |
| -keepclasseswithmembers class * { |
| public <init>(android.content.Context, android.util.AttributeSet); |
| } |
| |
| -keepclasseswithmembers class * { |
| public <init>(android.content.Context, android.util.AttributeSet, int); |
| } |
| |
| -keepclassmembers class * extends android.app.Activity { |
| public void *(android.view.View); |
| } |
| |
| -keepclassmembers enum * { |
| public static **[] values(); |
| public static ** valueOf(java.lang.String); |
| } |
| |
| -keep class * implements android.os.Parcelable { |
| public static final android.os.Parcelable$Creator *; |
| } |
| |
| # |
| # All changes below are additions to the Android SDK defaults, generally for the purposes of |
| # suppressing spurious or inconsequential warnings. |
| # |
| |
| # Suppress duplicate warning for system classes; Blaze is passing android.jar |
| # to proguard multiple times. |
| -dontnote android.** |
| -dontnote java.** |
| -dontnote javax.** |
| -dontnote junit.** |
| -dontnote org.** |
| -dontnote dalvik.** |
| -dontnote com.android.internal.** |
| |
| # Stop warnings about missing unused classes |
| -dontwarn com.google.common.annotations.** |
| -dontwarn com.google.common.base.** |
| -dontwarn com.google.common.collect.** |
| -dontnote com.google.common.flags.** |
| -dontwarn com.google.common.flags.** |
| -dontwarn com.google.common.util.concurrent.** |
| |
| # Ignore missing JDK6 classes |
| -dontwarn java.** |
| |
| # Inverting these produces significant size gains but loses significant debug info |
| -dontobfuscate |
| #-flattenpackagehierarchy |