diff --git a/BaseLibrary/build.gradle b/BaseLibrary/build.gradle index 7162252..d086475 100644 --- a/BaseLibrary/build.gradle +++ b/BaseLibrary/build.gradle @@ -14,9 +14,7 @@ android { buildTypes { release { - minifyEnabled true // 启用代码混淆 -// shrinkResources true // 移除未使用资源(需配合混淆) - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' //激进优化(可能需额外规则适配) + } } diff --git a/LibraryAd/build.gradle b/LibraryAd/build.gradle index c4a4369..fac2aef 100644 --- a/LibraryAd/build.gradle +++ b/LibraryAd/build.gradle @@ -14,9 +14,7 @@ android { buildTypes { release { -// minifyEnabled true // 启用代码混淆 -// shrinkResources true // 移除未使用资源(需配合混淆) -// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' //激进优化(可能需额外规则适配) + } } diff --git a/android_data/flavors.gradle b/android_data/flavors.gradle index 23562ff..01b7c22 100644 --- a/android_data/flavors.gradle +++ b/android_data/flavors.gradle @@ -31,7 +31,11 @@ android { release { minifyEnabled true // 启用代码混淆 shrinkResources true // 移除未使用资源(需配合混淆) - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'//激进优化(可能需额外规则适配) + //激进优化(可能需额外规则适配) + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), + 'proguard-rules.pro', + 'proguard-rules-ad.pro', + 'proguard-rules-base.pro' signingConfig signingConfigs.release } } diff --git a/app/proguard-rules-ad.pro b/app/proguard-rules-ad.pro new file mode 100644 index 0000000..6afe2f3 --- /dev/null +++ b/app/proguard-rules-ad.pro @@ -0,0 +1,78 @@ +# GroMore START +-keep class bykvm*.** +-keep class com.bytedance.msdk.adapter.**{ public *; } +-keep class com.bytedance.msdk.api.** { + public *; +} + +# baidu sdk 不接入baidu sdk可以不引入 +-ignorewarnings +-dontwarn com.baidu.mobads.sdk.api.** +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class com.baidu.mobads.** { *; } +-keep class com.style.widget.** {*;} +-keep class com.component.** {*;} +-keep class com.baidu.ad.magic.flute.** {*;} +-keep class com.baidu.mobstat.forbes.** {*;} + +#ks 不接入ks sdk可以不引入 +-keep class org.chromium.** {*;} +-keep class org.chromium.** { *; } +-keep class aegon.chrome.** { *; } +-keep class com.kwai.**{ *; } +-dontwarn com.kwai.** +-dontwarn com.kwad.** +-dontwarn com.ksad.** +-dontwarn aegon.chrome.** + +# Admob 不接入admob sdk可以不引入 +-keep class com.google.android.gms.ads.MobileAds { + public *; +} + +#sigmob 不接入sigmob sdk可以不引入 +-dontwarn android.support.v4.** +-keep class android.support.v4.** { *; } +-keep interface android.support.v4.** { *; } +-keep public class * extends android.support.v4.** + +-keep class sun.misc.Unsafe { *; } +-dontwarn com.sigmob.** +-keep class com.sigmob.**.**{*;} + +#oaid 不同的版本混淆代码不太一致,你注意你接入的oaid版本 ,不接入oaid可以不添加 +-dontwarn com.bun.** +-keep class com.bun.** {*;} +-keep class a.**{*;} +-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.huawei.hms.ads.identifier.**{*;} +-keep class com.samsung.android.deviceidservice.**{*;} +-keep class com.zui.opendeviceidlibrary.**{*;} +-keep class org.json.**{*;} +-keep public class com.netease.nis.sdkwrapper.Utils {public ;} + + +#Mintegral 不接入Mintegral sdk,可以不引入 +-keepattributes Signature +-keepattributes *Annotation* +-keep class com.mbridge.** {*; } +-keep interface com.mbridge.** {*; } +-keep class android.support.v4.** { *; } +-dontwarn com.mbridge.** +-keep class **.R$* { public static final int mbridge*; } + +# Gromore END \ No newline at end of file diff --git a/app/proguard-rules-base.pro b/app/proguard-rules-base.pro new file mode 100644 index 0000000..a22455c --- /dev/null +++ b/app/proguard-rules-base.pro @@ -0,0 +1,74 @@ +# 保留公共API不被混淆 +-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 class * extends java.lang.annotation.Annotation + +# 保留接口实现 +-keepclassmembers class * implements java.io.Serializable { + private static final long serialVersionUID; +} + +# 保留R文件生成类 +-keep class * extends android.view.View { + public (android.content.Context, android.util.AttributeSet); + public (android.content.Context, android.util.AttributeSet, int); +} + + +# 保留 Gson 序列化库 +-keep class com.google.gson.** { *; } +-keep class * implements com.google.gson.TypeAdapter +-keep class * extends com.google.gson.reflect.TypeToken + +# 保留 OkHttp 网络库 +-keep class okhttp3.** { *; } +-keep interface okhttp3.** { *; } +-dontwarn okhttp3.** + +# 保留 Glide 图片加载库 +-keep public class * implements com.bumptech.glide.module.GlideModule +-keep public class * extends com.bumptech.glide.module.AppGlideModule +-keep class com.bumptech.glide.** { *; } + +# 保留 Glide 转换库 +-keep class jp.wasabeef.glide.** { *; } + +# 保留核心模糊视图类 +-keep class android.support.v8.renderscript.** { *; } +-keep class androidx.renderscript.** { *; } + +# 保留 ShapeBlurView 高斯模糊 +-keep class com.centerzx.** { *; } + +# 保留 Toaster 吐司框架 +-keep class com.hjq.toast.** { *; } +-keep interface com.hjq.toast.** { *; } + +# 保留 XXPermissions 权限请求库 +-keep class com.hjq.permissions.** { *; } + +# 保留 BaseRecyclerViewAdapterHelper +-keep class com.chad.library.adapter.** { *; } + + + +# 保留 AndroidPicker选择器 +-keep class com.github.gzuliyujiang.** { *; } + +# 保留 SwipeRefreshLayout +-keep class androidx.swiperefreshlayout.** { *; } + +# 所有实体类(JavaBean)需要保留: +-keep class com.yourpackage.model.** { *; } + + + + +# 保留xpopup +-dontwarn com.lxj.xpopup.widget.** +-keep class com.lxj.xpopup.widget.**{*;} \ No newline at end of file