-target 1.6 -optimizationpasses 2 -dontobfuscate -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -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 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.** -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.** -dontwarn com.google.android.gms.common.GooglePlayServicesUtil -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.** { *; } ## JAVAX UNITS -keep class javax.measure.** { *; } -keepnames class javax.measure.** { *; } -keepclassmembers class javax.measure.** { *; } ## ACRA # keep this class so that logging will show 'ACRA' and not a obfuscated name like 'a'. # Note: if you are removing log messages elsewhere in this file then this isn't necessary -keep class org.acra.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 *; }