565 lines
18 KiB
Prolog
565 lines
18 KiB
Prolog
# 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 <methods>;
|
||
}
|
||
|
||
-keepclasseswithmembers class * {
|
||
public <init>(android.content.Context, android.util.AttributeSet);
|
||
public <init>(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 * 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 <fields>;
|
||
}
|
||
-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 <methods>;
|
||
}
|
||
|
||
# 避免 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 <fields>;
|
||
}
|
||
|
||
# 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 <methods>;
|
||
}
|
||
|
||
-keep public class * extends android.view.View{
|
||
*** get*();
|
||
void set*(***);
|
||
public <init>(android.content.Context);
|
||
public <init>(android.content.Context,android.util.AttributeSet);
|
||
public <init>(android.content.Context,android.util.AttributeSet,int);
|
||
}
|
||
-keepclasseswithmembers class * {
|
||
public <init>(android.content.Context, android.util.AttributeSet);
|
||
public <init>(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 <init>(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 <methods>;
|
||
}
|
||
-keepclasseswithmembers @kotlin.Metadata class * { *; }
|
||
-keepclassmembers class **.WhenMappings {
|
||
<fields>;
|
||
}
|
||
-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 {
|
||
<init>(...);
|
||
}
|
||
-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 <methods>;
|
||
}
|
||
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
|
||
|
||
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
|
||
<init>(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 <methods>; }
|
||
#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
|
||
|
||
|