AntennaPod/app/proguard.cfg
ByteHamster 2de7ff44cb Allow Proguard to optimize androidx packages
This reduces the method count from 64k to 44k and the apk size from 8MB to 7MB
2020-04-10 00:05:52 +02:00

102 lines
2.9 KiB
INI

-dontobfuscate
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-optimizations !code/allocation/variable
-optimizationpasses 5
-dontpreverify
-allowaccessmodification
-dontskipnonpubliclibraryclassmembers
# Keep our own classes and members. They are all used.
# Without this, methods only used in tests are removed and break tests.
-keep class de.danoeh.antennapod**
-keepclassmembers class de.danoeh.antennapod** {*;}
-keep class de.test.antennapod**
-keepclassmembers class de.test.antennapod** {*;}
# Keep methods used in tests.
# This is only needed when running tests with proguard enabled.
-keepclassmembers class org.apache.commons.lang3.StringUtils {*;}
-keepclassmembers class androidx.appcompat.app.ActionBar {
public ** getTitle();
}
-keepclassmembers class org.apache.commons.io.IOUtils {
public static void write(...);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * implements android.os.Parcelable {
static android.os.Parcelable$Creator CREATOR;
}
-keep public class org.jsoup.** {
public *;
}
# for okhttp
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation.**
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
-dontwarn org.codehaus.mojo.animal_sniffer.*
# for RxJava:
-dontwarn sun.misc.Unsafe
# for retrolambda
-dontwarn java.lang.invoke.*
# greenrobot EventBus
-keepattributes *Annotation*
-keepclassmembers class * {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
# android-iconify
-keep class com.joanzapata.** { *; }
# 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 *;
}
-dontwarn com.bumptech.glide.load.resource.bitmap.VideoDecoder
# for ViewPageIndicator problems (https://github.com/JakeWharton/ViewPagerIndicator/issues/366):
-dontwarn com.viewpagerindicator.LinePageIndicator
# for some reason ProGuard removes this file. Why? Unsure.
-keep class de.danoeh.antennapod.core.cast.SwitchableMediaRouteActionProvider { *; }
# Retrofit 2.0
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepclasseswithmembers class * {
@retrofit2.http.* <methods>;
}
# Moshi
-keep class com.squareup.moshi.** { *; }
-keep interface com.squareup.moshi.** { *; }
-keep public class retrofit2.adapter.rxjava.RxJavaCallAdapterFactory { *; }
# awaitility
-dontwarn java.beans.BeanInfo
-dontwarn java.beans.Introspector
-dontwarn java.beans.IntrospectionException
-dontwarn java.beans.PropertyDescriptor
-dontwarn java.lang.management.ManagementFactory
-dontwarn java.lang.management.ThreadInfo
-dontwarn java.lang.management.ThreadMXBean