mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2024-12-25 16:23:54 +01:00
2de7ff44cb
This reduces the method count from 64k to 44k and the apk size from 8MB to 7MB
102 lines
2.9 KiB
INI
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
|