## 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 #-dontshrink # ### Log #-assumenosideeffects class android.util.Log { # public static *** d(...); # public static *** v(...); # public static *** w(...); # public static *** i(...); # public static *** wtf(...); #} #-assumenosideeffects class com.atmob.common.logging.AtmobLog { # public static *** d(...); # public static *** v(...); # public static *** w(...); # public static *** i(...); # public static *** wtf(...); #} # ### native #-keepclasseswithmembernames class * { # native ; #} # ### res #-keepclassmembers class **.R$* { # public static ; #} # ### ViewBinding & DataBinding #-keep class * implements androidx.viewbinding.ViewBinding { # public inflate(android.view.LayoutInflater); # public inflate(android.view.LayoutInflater, android.view.ViewGroup, boolean); #} # ## common config end # ## RxJava start #-dontwarn java.util.concurrent.Flow* ## RxJava end # ## Glide start #-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(); #} ## Glide end # ## Turbo start #-keep class com.plutus.common.turbo.beans.** {*;} ## Turbo end # ## bugly start #-dontwarn com.tencent.bugly.** #-keep public class com.tencent.bugly.**{*;} ## bugly end # ## Umeng start #-keep class com.umeng.** {*;} #-keep class org.repackage.** {*;} #-keepclassmembers class * { # public (org.json.JSONObject); #} #-keepclassmembers enum * { # public static **[] values(); # public static ** valueOf(java.lang.String); #} ## Umeng end # ##oaid miitmdid start #-keep class com.bun.miitmdid.core.** {*;} #-keep class com.bun.lib.**{*;} #-keep class XI.CA.XI.**{*;} #-keep class XI.K0.XI.**{*;} #-keep class XI.XI.K0.**{*;} #-keep class XI.vs.K0.**{*;} #-keep class XI.xo.XI.XI.**{*;} #-keep class com.asus.msa.SupplementaryDID.**{*;} #-keep class com.asus.msa.sdid.**{*;} #-keep class com.bun.lib.**{*;} #-keep class com.bun.miitmdid.**{*;} #-keep class com.huawei.hms.ads.identifier.**{*;} #-keep class com.samsung.android.deviceidservice.**{*;} #-keep class org.json.**{*;} #-keep public class com.netease.nis.sdkwrapper.Utils { #public ; #} # ## #-keep class androidx.core.content.FileProvider { *; } #-keep class android.support.v4.content.FileProvider { *; } # ##oaid miitmdid end # ##flutter start # #-keep class io.flutter.** { *; } # ##flutter end # # # ==================================== Glide ==================================== -keep class com.bumptech.glide.**{*;} # Glide Webp Decoder start -keep public class com.bumptech.glide.integration.webp.WebpImage { *; } -keep public class com.bumptech.glide.integration.webp.WebpFrame { *; } -keep public class com.bumptech.glide.integration.webp.WebpBitmapFactory { *; } # Glide Webp Decoder end # ==================================== Gson ==================================== -keepattributes Signature -keep class com.google.gson.reflect.TypeToken { *; } -keep class * extends com.google.gson.reflect.TypeToken -keepattributes AnnotationDefault,RuntimeVisibleAnnotations