2015-01-27 06:38:47 -05:00
|
|
|
-target 1.6
|
2016-02-22 06:30:17 -05:00
|
|
|
-optimizationpasses 2
|
2015-01-27 06:38:47 -05:00
|
|
|
-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 <init>(android.content.Context);
|
|
|
|
public <init>(android.content.Context, android.util.AttributeSet);
|
|
|
|
public <init>(android.content.Context, android.util.AttributeSet, int);
|
|
|
|
public void set*(...);
|
|
|
|
}
|
|
|
|
|
|
|
|
-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.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 <fields>;
|
|
|
|
}
|
|
|
|
|
|
|
|
-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.**
|
2016-03-02 03:27:21 -05:00
|
|
|
-dontwarn com.google.common.**
|
2015-01-27 06:38:47 -05:00
|
|
|
-dontwarn com.google.ads.**
|
|
|
|
-dontwarn com.sun.org.apache.xerces.internal.impl.dv.util.Base64
|
|
|
|
-dontwarn com.actionbarsherlock.BuildConfig
|
2015-05-30 10:08:44 -04:00
|
|
|
-dontwarn com.google.android.gms.internal.**
|
|
|
|
-dontwarn com.google.android.gms.common.internal.**
|
2016-03-01 18:06:09 -05:00
|
|
|
-dontwarn com.google.android.gms.common.GooglePlayServicesUtil
|
2015-01-27 06:38:47 -05:00
|
|
|
|
2016-01-07 11:15:54 -05:00
|
|
|
-keep class com.squareup.leakcanary.** { *; }
|
|
|
|
-dontwarn com.squareup.leakcanary.**
|
|
|
|
|
2015-01-27 06:38:47 -05:00
|
|
|
-keep class org.simpleframework.xml.** { *; }
|
|
|
|
-keep class * implements org.solovyev.android.calculator.model.MathPersistenceEntity
|
|
|
|
-keep class * implements org.solovyev.android.calculator.MathEntityPersistenceContainer
|
|
|
|
|
2016-01-06 06:40:37 -05:00
|
|
|
# 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
|
2015-01-27 06:38:47 -05:00
|
|
|
-keep class android.support.v4.app.** { *; }
|
|
|
|
-keep interface android.support.v4.app.** { *; }
|
2016-01-06 06:40:37 -05:00
|
|
|
-keep class !android.support.v7.internal.view.menu.MenuBuilder, !android.support.v7.internal.view.menu.SubMenuBuilder, android.support.v7.** { *; }
|
2015-01-27 17:23:59 -05:00
|
|
|
-keep interface android.support.v7.** { *; }
|
2015-01-27 06:38:47 -05:00
|
|
|
|
|
|
|
|
2016-01-15 07:58:45 -05:00
|
|
|
## ACRA
|
2015-01-27 06:38:47 -05:00
|
|
|
|
|
|
|
# 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 {
|
2015-02-01 14:57:09 -05:00
|
|
|
*;
|
2015-01-27 06:38:47 -05:00
|
|
|
}
|
|
|
|
|
2015-02-01 14:57:09 -05:00
|
|
|
# keep this around for some enums that ACRA needs
|
|
|
|
-keep class org.acra.ReportingInteractionMode {
|
|
|
|
*;
|
2015-01-27 06:38:47 -05:00
|
|
|
}
|
|
|
|
|
2015-02-01 14:57:09 -05:00
|
|
|
-keepnames class org.acra.sender.HttpSender$** {
|
|
|
|
*;
|
|
|
|
}
|
2015-01-27 06:38:47 -05:00
|
|
|
|
2015-02-01 14:57:09 -05:00
|
|
|
-keepnames class org.acra.ReportField {
|
|
|
|
*;
|
2015-01-27 06:38:47 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
# keep this otherwise it is removed by ProGuard
|
2015-05-30 10:08:44 -04:00
|
|
|
-keep public class org.acra.ErrorReporter {
|
2015-02-01 14:57:09 -05:00
|
|
|
public void addCustomData(java.lang.String,java.lang.String);
|
|
|
|
public void putCustomData(java.lang.String,java.lang.String);
|
|
|
|
public void removeCustomData(java.lang.String);
|
2015-01-27 06:38:47 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
# keep this otherwise it is removed by ProGuard
|
2015-05-30 10:08:44 -04:00
|
|
|
-keep public class org.acra.ErrorReporter {
|
2015-02-01 14:57:09 -05:00
|
|
|
public void handleSilentException(java.lang.Throwable);
|
2016-01-15 07:58:45 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
## BUTTERKNIFE
|
|
|
|
|
|
|
|
-keep class butterknife.** { *; }
|
|
|
|
-dontwarn butterknife.internal.**
|
|
|
|
-keep class **$$ViewBinder { *; }
|
|
|
|
|
|
|
|
-keepclasseswithmembernames class * {
|
|
|
|
@butterknife.* <fields>;
|
|
|
|
}
|
|
|
|
|
|
|
|
-keepclasseswithmembernames class * {
|
|
|
|
@butterknife.* <methods>;
|
|
|
|
}
|
|
|
|
|
|
|
|
## OTTO BUS
|
|
|
|
|
|
|
|
-keepattributes *Annotation*
|
|
|
|
-keepclassmembers class ** {
|
|
|
|
@com.squareup.otto.Subscribe public *;
|
|
|
|
@com.squareup.otto.Produce public *;
|
2015-02-01 14:57:09 -05:00
|
|
|
}
|