123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- # GENERAL OPTIONS
- # turn on all optimizations except those that are known to cause problems on Android
- -optimizations !code/simplification/cast,!field/*,!class/merging/*
- -optimizationpasses 6
- -allowaccessmodification
- -dontpreverify
- -dontusemixedcaseclassnames
- -dontskipnonpubliclibraryclasses
- -keepattributes *Annotation*
- # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
- -keepclasseswithmembernames class * {
- native <methods>;
- }
- # keep setters in Views so that animations can still work.
- # see http://proguard.sourceforge.net/manual/examples.html#beans
- -keepclassmembers public class * extends android.view.View {
- void set*(***);
- *** get*();
- }
- # We want to keep methods in Activity that could be used in the XML attribute onClick
- -keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
- }
- # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- -keepclassmembers class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator CREATOR;
- }
- -keepclassmembers class **.R$* {
- public static <fields>;
- }
- # The support library contains references to newer platform versions.
- # Don't warn about those in case this app is linking against an older
- # platform version. We know about them, and they are safe.
- -dontwarn android.support.**
- # TUSKY SPECIFIC OPTIONS
- ## for okhttp
- -dontwarn javax.annotation.**
- -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
- -dontwarn org.codehaus.mojo.animal_sniffer.*
- -dontwarn okhttp3.internal.platform.ConscryptPlatform
- ##for keep
- -dontwarn android.arch.util.paging.CountedDataSource
- -dontwarn android.arch.persistence.room.paging.LimitOffsetDataSource
- ## for retrofit
- -dontwarn retrofit2.**
- -keep class retrofit2.** { *; }
- -keepattributes Signature
- -keepattributes Exceptions
- -keepattributes *Annotation*
- -keepclasseswithmembers class * {
- @retrofit2.http.* <methods>;
- }
- -keep class com.keylesspalace.tusky.entity.** { *; }
- -keep public enum com.keylesspalace.tusky.entity.*$** {
- **[] $VALUES;
- public *;
- }
- # preserve line numbers for crash reporting
- -keepattributes SourceFile,LineNumberTable
- -renamesourcefileattribute SourceFile
- # remove all logging from production apk
- -assumenosideeffects class android.util.Log {
- public static *** getStackTraceString(...);
- public static *** d(...);
- public static *** w(...);
- public static *** v(...);
- public static *** i(...);
- }
- # remove some kotlin overhead
- -assumenosideeffects class kotlin.jvm.internal.Intrinsics {
- static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
- static void checkExpressionValueIsNotNull(java.lang.Object, java.lang.String);
- static void throwUninitializedPropertyAccessException(java.lang.String);
- }
- -dontwarn com.google.errorprone.annotations.*
- # without this emoji font downloading fails with AbstractMethodError
- -keep class * extends android.os.AsyncTask {
- public *;
- }
- # Glide
- -keep public class * implements com.bumptech.glide.module.GlideModule
- -keep public class * extends com.bumptech.glide.module.AppGlideModule
- -keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
- **[] $VALUES;
- public *;
- }
|