diff options
author | ByteHamster <info@bytehamster.com> | 2020-04-10 00:03:53 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-04-10 00:05:52 +0200 |
commit | 2de7ff44cbfeefb065f849fd44d220a1dac35dd8 (patch) | |
tree | 43c58cd31703497edab7a406891108549632917e /app/proguard.cfg | |
parent | a35ecaa74bd9392f9e7e513522aee8e1601e78cf (diff) | |
download | AntennaPod-2de7ff44cbfeefb065f849fd44d220a1dac35dd8.zip |
Allow Proguard to optimize androidx packages
This reduces the method count from 64k to 44k and the apk size from 8MB to 7MB
Diffstat (limited to 'app/proguard.cfg')
-rw-r--r-- | app/proguard.cfg | 59 |
1 files changed, 16 insertions, 43 deletions
diff --git a/app/proguard.cfg b/app/proguard.cfg index 2551988fd..121ea23f1 100644 --- a/app/proguard.cfg +++ b/app/proguard.cfg @@ -5,21 +5,24 @@ -optimizationpasses 5 -dontpreverify --repackageclasses '' -allowaccessmodification --keepattributes *Annotation* +-dontskipnonpubliclibraryclassmembers --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*(...); +# 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 * { @@ -27,27 +30,10 @@ public static ** valueOf(java.lang.String); } --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>; -} - -keep public class org.jsoup.** { public *; } @@ -65,19 +51,6 @@ # for retrolambda -dontwarn java.lang.invoke.* --dontwarn com.google.android.material.** --keep class com.google.android.material.** { *; } - --dontwarn androidx.** --keep class androidx.** { *; } --keep interface androidx.** { *; } - --dontwarn com.google.android.wearable.** - --keep class org.apache.commons.** { *; } - --dontskipnonpubliclibraryclassmembers - # greenrobot EventBus -keepattributes *Annotation* -keepclassmembers class * { |