-target 1.6 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -repackageclasses '' -allowaccessmodification -optimizations !code/simplification/arithmetic -keepattributes *Annotation* -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.view.View { public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); public void set*(...); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.content.Context { public void *(android.view.View); public void *(android.view.MenuItem); } -keepclassmembers class * implements android.os.Parcelable { static android.os.Parcelable$Creator CREATOR; } -keepclassmembers class **.R$* { public static ; } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep @org.simpleframework.xml.Root public class * { *; } -dontwarn javax.xml.stream.** -dontwarn com.bea.xml.stream.** -dontwarn sun.misc.Unsafe -dontwarn android.annotation.TargetApi -dontwarn org.solovyev.common.math.visualisation.** -dontwarn org.solovyev.common.math.graph.** -dontwarn org.solovyev.common.math.algorithms.** -dontwarn org.solovyev.common.drawing.** -dontwarn org.joda.** -dontwarn jscl.mathml.** -dontwarn com.google.common.collect.MinMaxPriorityQueue -dontwarn com.google.ads.** -dontwarn com.sun.org.apache.xerces.internal.impl.dv.util.Base64 -dontwarn com.actionbarsherlock.BuildConfig -dontwarn com.google.android.gms.internal.** -dontwarn com.google.android.gms.common.internal.** -keep class com.squareup.leakcanary.** { *; } -dontwarn com.squareup.leakcanary.** -keep class org.simpleframework.xml.** { *; } -keep class * implements org.solovyev.android.calculator.model.MathPersistenceEntity -keep class * implements org.solovyev.android.calculator.MathEntityPersistenceContainer # Allow obfuscation of android.support.v7.internal.view.menu.** # to avoid problem on Samsung 4.2.2 devices with appcompat v21 # see https://code.google.com/p/android/issues/detail?id=78377 -keep class android.support.v4.app.** { *; } -keep interface android.support.v4.app.** { *; } -keep class !android.support.v7.internal.view.menu.MenuBuilder, !android.support.v7.internal.view.menu.SubMenuBuilder, android.support.v7.** { *; } -keep interface android.support.v7.** { *; } ## LOGS -assumenosideeffects class android.util.Log { public static int v(...); public static int d(...); public static int i(...); public static int w(...); public static int e(...); } ## ASSERTIONS -assumenosideeffects class org.solovyev.android.Check { *; } ## ACRA # keep this around for some enums that ACRA needs -keep class org.acra.ReportingInteractionMode { *; } -keepnames class org.acra.sender.HttpSender$** { *; } -keepnames class org.acra.ReportField { *; } # keep this otherwise it is removed by ProGuard -keep public class org.acra.ErrorReporter { public void addCustomData(java.lang.String,java.lang.String); public void putCustomData(java.lang.String,java.lang.String); public void removeCustomData(java.lang.String); } # keep this otherwise it is removed by ProGuard -keep public class org.acra.ErrorReporter { public void handleSilentException(java.lang.Throwable); } ## BUTTERKNIFE -keep class butterknife.** { *; } -dontwarn butterknife.internal.** -keep class **$$ViewBinder { *; } -keepclasseswithmembernames class * { @butterknife.* ; } -keepclasseswithmembernames class * { @butterknife.* ; } ## OTTO BUS -keepattributes *Annotation* -keepclassmembers class ** { @com.squareup.otto.Subscribe public *; @com.squareup.otto.Produce public *; }