# Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} # Uncomment this to preserve the line number information for # debugging stack traces. #-keepattributes SourceFile,LineNumberTable # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile # Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle.kts. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} # Uncomment this to preserve the line number information for # debugging stack traces. #-keepattributes SourceFile,LineNumberTable # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile #如果你使用全文检索插件,需要加入 -dontwarn org.apache.lucene.** -keep class org.apache.lucene.** {*;} -keep class com.fractalwrench.** { *; } ### glide 4 -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.resource.bitmap.ImageHeaderParser$** { **[] $VALUES; public *; } -keep class com.alibaba.sdk.android.oss.** { *; } -dontwarn okio.** -dontwarn org.apache.commons.codec.binary.** #okhttp -dontwarn okhttp3.** -keep class okhttp3.**{*;} #如果你使用全文检索插件,需要加入 -dontwarn org.apache.lucene.** -keep class org.apache.lucene.** {*;} #如果你开启数据库功能,需要加入 -keep class net.sqlcipher.** {*;} -keep class com.google.android.material.** {*;} -keep class androidx.** {*;} -keep public class * extends androidx.** -keep interface androidx.** {*;} -dontwarn com.google.android.material.** -dontnote com.google.android.material.** -dontwarn androidx.** ### APP 3rd party jars(xiaomi push) -dontwarn com.xiaomi.push.** -keep class com.xiaomi.** {*;} ### APP 3rd party jars(huawei push) -ignorewarnings -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable # hmscore-support: remote transport -keep class com.huawei.hianalytics.**{*;} -keep class com.huawei.updatesdk.**{*;} -keep class com.huawei.hms.**{*;} ### APP 3rd party jars(meizu push) -dontwarn com.meizu.cloud.** -keep class com.meizu.cloud.** {*;} #vivo -dontwarn com.vivo.push.** -keep class com.vivo.push.** {*;} -keep class com.vivo.vms.** {*;} #oppo -keep public class * extends android.app.Service -keep class com.heytap.msp.** { *;} ### org.json xml -dontwarn org.json.** -keep class org.json.**{*;} #okio -dontwarn okio.** -keep class okio.**{*;} -keepclasseswithmembernames class * { native ; } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keepclassmembers class ** { public (android.os.Parcel); } -keep class com.shortdrama.jelly.zyreotv.** implements android.os.Parcelable -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } -keep class **.R$* { *; } -dontwarn com.google.** -keep class com.google.** {*;} -keep public class * extends android.app.Service -keep class com.heytap.msp.** { *;} -dontwarn com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.** -keep class com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.** {*;} -dontwarn com.shortdrama.jelly.zyreotv.dlsym.** -keep class com.shortdrama.jelly.zyreotv.dlsym.** {*;} -keepclassmembers class **.R$* { public static ; } -keep class * implements androidx.viewbinding.ViewBinding{ *;} # RxJava2核心类保留 -keepclassmembers class rx.internal.util.unsafe.* { *; } # 保留 RxJava2 所有 public 方法、字段、类(防止接口回调等失效) -dontwarn io.reactivex.** -keep class io.reactivex.** { *; } -keep interface io.reactivex.** { *; } # RxJava2 中的 lambda 保留(可选,如果你用 lambda 表达式) -keepclassmembers class * { @io.reactivex.annotations.NonNull ; } # 避免 RxJava2 中使用的内部 Unsafe 类被混淆(在某些 Android 版本上避免崩溃) -keepclassmembers class rx.internal.util.unsafe.* { *; } # 保留 Gson 所需的泛型签名 -keepattributes Signature # 保留 TypeToken 本身 -keep class com.google.gson.reflect.TypeToken { *; } -keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken -keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken # 保留你的数据实体类不被混淆(根据你的包名调整) #-dontwarn com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.** #-keep class com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.** { *; } #-dontwarn com.shortdrama.jelly.zyreotv.dlsym.** #-keep class com.shortdrama.jelly.zyreotv.dlsym.** {*;} #-dontwarn com.shortdrama.jelly.zyreotv.beginning.** #-keep class com.shortdrama.jelly.zyreotv.beginning.** {*;} # 如果使用 @SerializedName 注解,保留字段名 -keepclassmembers class * { @com.google.gson.annotations.SerializedName ; } # R8 针对 RxJava2 的优化处理(如果你使用的是 R8) -dontwarn sun.misc.** # 仅用于调试(可选) -keepattributes *Annotation* -keep public class * extends androidx.appcompat.app.AppCompatActivity -keep public class * extends androidx.fragment.app.Fragment -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 -keep public class * extends android.view.View -keep class android.support.** {*;} -keep interface android.support.** {*;} -keep public class * extends android.support.v4.** -keep public class * extends android.support.v7.** -keep public class * extends android.support.annotation.** -dontwarn android.support.** -keep class androidx.** {*;} -keep public class * extends androidx.** -keep interface androidx.** {*;} -keep class com.google.android.material.** {*;} -dontwarn androidx.** -dontwarn com.google.android.material.** -dontnote com.google.android.material.** -keepclasseswithmembernames class * { native ; } -keep public class * extends android.view.View{ *** get*(); void set*(***); public (android.content.Context); public (android.content.Context,android.util.AttributeSet); public (android.content.Context,android.util.AttributeSet,int); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keep public class * implements java.io.Serializable {*;} -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } -keep class **.R$* {*;} -keepclassmembers class * { void *(**On*Event); void *(**On*Listener); } -keepclassmembers class * extends android.webkit.WebViewClient { public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap); public boolean *(android.webkit.WebView, java.lang.String); } -keepclassmembers class * extends android.webkit.WebViewClient { public void *(android.webkit.WebView, java.lang.String); } -keepclassmembers class * { public (org.json.JSONObject); } -keepattributes Signature -keepattributes InnerClasses -assumenosideeffects class android.util.Log { public static *** v(...); public static *** d(...); public static *** i(...); public static *** w(...); public static *** e(...); } -dontwarn kotlin.** -keep class kotlin.** { *; } -keep interface kotlin.** { *; } -keepclassmembers class kotlin.Metadata { public ; } -keepclasseswithmembers @kotlin.Metadata class * { *; } -keepclassmembers class **.WhenMappings { ; } -assumenosideeffects class kotlin.jvm.internal.Intrinsics { static void checkParameterIsNotNull(java.lang.Object, java.lang.String); } -keep class kotlinx.** { *; } -keep interface kotlinx.** { *; } -dontwarn kotlinx.** -keep class org.jetbrains.** { *; } -keep interface org.jetbrains.** { *; } -dontwarn org.jetbrains.** -keep public class * implements com.bumptech.glide.module.GlideModule -keep class * extends com.bumptech.glide.module.AppGlideModule { (...); } -keep public enum com.bumptech.glide.load.ImageHeaderParser$** { **[] $VALUES; public *; } -keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder { *** rewind(); } -dontwarn org.bouncycastle.jsse.BCSSLParameters -dontwarn org.bouncycastle.jsse.BCSSLSocket -dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider -dontwarn org.conscrypt.Conscrypt$Version -dontwarn org.conscrypt.Conscrypt -dontwarn org.conscrypt.ConscryptHostnameVerifier -dontwarn org.openjsse.javax.net.ssl.SSLParameters -dontwarn org.openjsse.javax.net.ssl.SSLSocket -dontwarn org.openjsse.net.ssl.OpenJSSE # ViewBinding -keepclassmembers class * implements androidx.viewbinding.ViewBinding { public static * inflate(android.view.LayoutInflater); } -dontwarn javax.annotation.** -dontwarn javax.inject.** -dontwarn okhttp3.logging.** -keep class okhttp3.internal.**{*;} -dontwarn okio.** -keep class com.shortdrama.jelly.zyreotv.dlsym.** { *; } -dontwarn retrofit2.** -keep class retrofit2.** { *; } -keepattributes Signature -keepattributes Exceptions -keep class com.google.gson.stream.** { *; } -keepattributes EnclosingMethod -keepattributes *Annotation* -keepclassmembers class * { @org.greenrobot.eventbus.Subscribe ; } -keep enum org.greenrobot.eventbus.ThreadMode { *; } -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent { (java.lang.Throwable); } -keep public class com.android.installreferrer.** { *; } -keep class com.wang.avi.** { *; } -keep class com.wang.avi.indicators.** { *; } -keep class com.bytedance.sdk.** { *; } -keep public class com.google.android.gms.** { public protected *; } -keepattributes SourceFile,LineNumberTable # Keep file names and line numbers. -keep public class * extends java.lang.Exception # Optional: Keep custom exceptions. -keep class android.support.v8.renderscript.** { *; } -keep class androidx.renderscript.** { *; } -keepattributes Signature -keepattributes *Annotation* -keep class com.mbridge.** {*; } -keep interface com.mbridge.** {*; } -dontwarn com.mbridge.** -keepclassmembers class **.R$* { public static final int mbridge*; } -keep public class com.mbridge.* extends androidx.** { *; } -keep interface androidx.annotation.IntDef{*;} -keep interface androidx.annotation.Nullable{*;} -keep interface androidx.annotation.CheckResult{*;} -keep interface androidx.annotation.NonNull{*;} -keep public class androidx.fragment.app.Fragment{*;} -keep public class androidx.core.content.FileProvider{*;} -keep public class androidx.core.app.NotificationCompat{*;} -keep public class androidx.appcompat.widget.AppCompatImageView {*;} -keep public class androidx.recyclerview.*{*;} -keepclassmembers class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } #noinspection ShrinkerUnresolvedReference #unity -keep class com.google.android.gms.ads.** {public *;} -keep class com.google.android.gms.appset.** { *; } -keep class com.google.android.gms.tasks.** { *; } #adapters -keep class com.ironsource.adapters.** { *; } #sdk -dontwarn com.ironsource.** -dontwarn com.ironsource.adapters.** -keepclassmembers class com.ironsource.** { public *; } -keep public class com.ironsource.** -keep class com.ironsource.adapters.** { *; } #omid -dontwarn com.iab.omid.** -keep class com.iab.omid.** {*;} #javascript -keepattributes JavascriptInterface -keepclassmembers class * { @android.webkit.JavascriptInterface ; } #For AmazonAps integration -keep class com.amazon.device.ads.DtbThreadService { static *; } -keep public interface com.amazon.device.ads** {*; } #For AppLovin integration -keepclassmembers class com.applovin.sdk.AppLovinSdk { static *; } -keep public interface com.applovin.sdk** {*; } -keep public interface com.applovin.adview** {*; } -keep public interface com.applovin.mediation** {*; } -keep public interface com.applovin.communicator** {*; } #For Bytedance integration -keep public interface com.bytedance.sdk.openadsdk** {*; } #For Facebook integration -keepclassmembers class com.facebook.ads.internal.AdSdkVersion { static *; } -keepclassmembers class com.facebook.ads.internal.settings.AdSdkVersion { static *; } -keepclassmembers class com.facebook.ads.BuildConfig { static *; } -keep public interface com.facebook.ads** {*; } #For Fairbid -keep public interface com.fyber.fairbid.ads.interstitial** {*; } -keep public interface com.fyber.fairbid.ads.rewarded** {*; } -keep class com.fyber.offerwall.* #For Fivead -keep public interface com.five_corp.ad** {*; } #For Fyber(Inneractive) integration -keep public interface com.fyber.inneractive.sdk.external** {*; } -keep public interface com.fyber.inneractive.sdk.activities** {*; } -keep public interface com.fyber.inneractive.sdk.ui** {*; } #For HyprMX integration -keepclassmembers class com.hyprmx.android.sdk.utility.HyprMXProperties { static *; } -keepclassmembers class com.hyprmx.android.BuildConfig { static *; } -keep public interface com.hyprmx.android.sdk.activity** {*; } -keep public interface com.hyprmx.android.sdk.graphics** {*; } # For Inmobi integration -keep class com.inmobi.* -keep public interface com.inmobi.ads.listeners** {*; } -keep public interface com.inmobi.ads.InMobiInterstitial** {*; } -keep public interface com.inmobi.ads.InMobiBanner** {*; } # For ironSource integration -keep public interface com.ironsource.mediationsdk.sdk** {*; } -keep public interface com.ironsource.mediationsdk.impressionData.ImpressionDataListener {*; } #For Maio integration -keep public interface jp.maio.sdk.android.MaioAdsListenerInterface {*; } # For Mintergral integration -keep public interface com.mbridge.msdk.out** {*; } -keep public interface com.mbridge.msdk.videocommon.listener** {*; } -keep public interface com.mbridge.msdk.interstitialvideo.out** {*; } -keep public interface com.mintegral.msdk.out** {*; } -keep public interface com.mintegral.msdk.videocommon.listener** {*; } -keep public interface com.mintegral.msdk.interstitialvideo.out** {*; } #For MyTarget integration -keep class com.my.target.** {*;} #For Ogury integration -keep public interface io.presage.interstitial** {*; } -keep public interface io.presage.interstitial.PresageInterstitialCallback {*; } #For Pubnative integration -keep public interface net.pubnative.lite.sdk.interstitial.HyBidInterstitialAd** {*; } -keep public interface net.pubnative.lite.sdk.rewarded.HyBidRewardedAd** {*; } -keep public interface net.pubnative.lite.sdk.views.HyBidAdView** {*; } #For Smaato integration -keep public interface com.smaato.sdk.interstitial** {*; } -keep public interface com.smaato.sdk.video.vast** {*; } -keep public interface com.smaato.sdk.banner.widget** {*; } -keep public interface com.smaato.sdk.core.util** {*; } # For Tapjoy integration -keep public interface com.tapjoy.** {*; } # For Tencent integration -keep public interface com.qq.e.ads.interstitial2** {*; } -keep public interface com.qq.e.ads.interstitial3** {*; } -keep public interface com.qq.e.ads.rewardvideo** {*; } -keep public interface com.qq.e.ads.rewardvideo2** {*; } -keep public interface com.qq.e.ads.banner2** {*; } -keep public interface com.qq.e.comm.adevent** {*; } #For Verizon integration -keepclassmembers class com.verizon.ads.edition.BuildConfig { static *; } #-keep public interface com.verizon.ads.interstitialplacement** {*; } #-keep public interface com.verizon.ads.inlineplacement** {*; } #-keep public interface com.verizon.ads.vastcontroller** {*; } #-keep public interface com.verizon.ads.webcontroller** {*; } #For Vungle integration #-keep public interface com.vungle.warren.PlayAdCallback {*; } #-keep public interface com.vungle.warren.ui.contract** {*; } #-keep public interface com.vungle.warren.ui.view** {*; } #For AndroidX -keep class androidx.localbroadcastmanager.content.LocalBroadcastManager { *;} -keep class androidx.recyclerview.widget.RecyclerView { *;} -keep class androidx.recyclerview.widget.RecyclerView$OnScrollListener { *;} #For Android -keep class * extends android.app.Activity