diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index fcfa971..a262395 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -15,3 +15,79 @@ #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} + +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontskipnonpubliclibraryclassmembers +-dontpreverify +-verbose +-keepattributes SourceFile,LineNumberTable +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* + +-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.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference + +-dontwarn com.crashlytics.** +-keep class com.crashlytics.** { *; } + +-keep, includedescriptorclasses class net.dolden.dummyand.** +-keep, includedescriptorclasses class kotlinx.serialization.** +-keepnames class kotlin.jvm.internal.DefaultConstructorMarker +-keep class androidx.core.app.CoreComponentFactory { *; } + +-keep class androidx.appcompat.widget.Toolbar { *** mMenuView; } +-keep class androidx.appcompat.widget.ActionMenuView { *** mPresenter; } +-keep class androidx.appcompat.widget.ActionMenuPresenter { *** mOverflowButton; } + +-keepnames class androidx.navigation.fragment.NavHostFragment + +-keepattributes *Annotation*, InnerClasses +-dontnote kotlinx.serialization.SerializationKt +-keep,includedescriptorclasses class net.dolden.dummyand.**$$serializer { *; } # <-- change package name to your app's + +-keep class org.jboss.netty.** { *; } +-keep class org.spongycastle.** +-keep class com.google.** { *; } +-keep class android.support.v7.widget.SearchView { public *; } +-keep class com.synnapps.carouselview.** { *; } +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +# ServiceLoader support +-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {} +-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {} + +# Most of volatile fields are updated with AFU and should not be mangled +-keepclassmembernames class kotlinx.** { + volatile ; +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} + +-dontwarn org.jboss.netty.** + +-dontwarn javax.naming.** +-dontwarn java.nio.file.Files +-dontwarn java.nio.file.Path +-dontwarn java.nio.file.OpenOption +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement +-dontwarn okhttp3.** +-dontwarn okio.** +-dontwarn javax.annotation.Nullable +-dontwarn javax.annotation.ParametersAreNonnullByDefault + +-ignorewarnings \ No newline at end of file