1:添加cos的混淆规则
This commit is contained in:
@@ -105,7 +105,7 @@ android {
|
|||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
minifyEnabled false
|
minifyEnabled true
|
||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
signingConfig signingConfigs.release
|
signingConfig signingConfigs.release
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ android {
|
|||||||
|
|
||||||
debug {
|
debug {
|
||||||
debuggable true
|
debuggable true
|
||||||
minifyEnabled false
|
minifyEnabled true
|
||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
signingConfig signingConfigs.debug
|
signingConfig signingConfigs.debug
|
||||||
|
|
||||||
|
|||||||
151
app/proguard-rules.pro
vendored
151
app/proguard-rules.pro
vendored
@@ -921,19 +921,23 @@ public static java.lang.String TABLENAME;
|
|||||||
-keepclassmembers class com.xscm.moduleutil.event.MqttBean** {
|
-keepclassmembers class com.xscm.moduleutil.event.MqttBean** {
|
||||||
*;
|
*;
|
||||||
}
|
}
|
||||||
|
-keep class com.xscm.moduleutil.bean.GiftBean** {*;}
|
||||||
|
-keepclassmembers class com.xscm.moduleutil.bean.GiftBean** {
|
||||||
|
*;
|
||||||
|
}
|
||||||
|
|
||||||
-keep class com.xscm.moduleutil.bean.XLHBean** {*;}
|
-keep class com.xscm.moduleutil.bean.XLHBean** {*;}
|
||||||
-keepclassmembers class com.xscm.moduleutil.bean.XLHBean** {
|
-keepclassmembers class com.xscm.moduleutil.bean.XLHBean** {
|
||||||
*;
|
*;
|
||||||
}
|
}
|
||||||
|
|
||||||
-keep class com.xscm.moduleutil.bean.RedBean** {*;}
|
-keep class com.xscm.moduleutil.event.RedBean** {*;}
|
||||||
-keepclassmembers class com.xscm.moduleutil.bean.RedBean** {
|
-keepclassmembers class com.xscm.moduleutil.event.RedBean** {
|
||||||
*;
|
*;
|
||||||
}
|
}
|
||||||
|
|
||||||
-keep class com.xscm.moduleutil.bean.HourlyBean** {*;}
|
-keep class com.xscm.moduleutil.event.HourlyBean** {*;}
|
||||||
-keepclassmembers class com.xscm.moduleutil.bean.HourlyBean** {
|
-keepclassmembers class com.xscm.moduleutil.event.HourlyBean** {
|
||||||
*;
|
*;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -945,9 +949,136 @@ public static java.lang.String TABLENAME;
|
|||||||
|
|
||||||
-keep class **.R$string { *; }
|
-keep class **.R$string { *; }
|
||||||
|
|
||||||
-keep class com.qcloud.cos.** { *; }
|
# ========== 腾讯云COS SDK 混淆规则 ==========
|
||||||
-dontwarn com.qcloud.cos.**
|
|
||||||
-keep class com.qcloud.cos.model.** { *; }
|
# COS SDK混淆规则
|
||||||
-keep class * implements com.qcloud.cos.** { *; }
|
-dontwarn com.tencent.cos.**
|
||||||
-keepattributes Signature, *Annotation*
|
-keep class com.tencent.cos.xml.**{*;}
|
||||||
-keep class com.qcloud.cos.**$* { *; }
|
-keep class com.tencent.qcloud.cos.**{*;}
|
||||||
|
# 相关依赖库保留
|
||||||
|
-keep class com.tencent**qimei.** { *;}
|
||||||
|
-keep class com.tencent.qmsp.oaid2.** {*;}
|
||||||
|
-keep class com.tencent.beacon.** { *;}
|
||||||
|
|
||||||
|
-keep class com.xscm.moduleutil.utils.cos.** {
|
||||||
|
*;
|
||||||
|
}
|
||||||
|
-keep class com.xscm.moduleutil.utils.cos.TempKeyBean {
|
||||||
|
*;
|
||||||
|
}
|
||||||
|
-keep class com.xscm.moduleutil.utils.cos.Credentials {
|
||||||
|
*;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# ========== 针对临时密钥 (SessionQCloudCredentials) 的增强规则 ==========
|
||||||
|
# 1. 精确保护引发错误的类及其所有成员(字段、方法)
|
||||||
|
#-keep class com.tencent.qcloud.core.auth.SessionQCloudCredentials {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
## 额外保护其所有内部类(如果有)
|
||||||
|
#-keep class com.tencent.qcloud.core.auth.SessionQCloudCredentials$* {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## 2. 保护可能相关的其他凭证类和模型类
|
||||||
|
#-keep class com.tencent.qcloud.core.auth.** {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
#-keep class com.tencent.qcloud.cos.model.** {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## 3. 关键:保护所有类中的所有时间戳字段(按常见命名)
|
||||||
|
## 这可以防止JSON库因字段名被混淆而无法正确赋值
|
||||||
|
#-keepclassmembers class ** {
|
||||||
|
# long beginTime;
|
||||||
|
# long startTime;
|
||||||
|
# long expiredTime;
|
||||||
|
# long expiration;
|
||||||
|
# java.util.Date beginTime;
|
||||||
|
# java.util.Date startTime;
|
||||||
|
# java.util.Date expiredTime;
|
||||||
|
# java.util.Date expiration;
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## 4. 保护所有setter/getter方法,确保序列化正常
|
||||||
|
#-keepclassmembers class com.tencent.qcloud.** {
|
||||||
|
# public void set*(***);
|
||||||
|
# public *** get*();
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## 5. 保留所有注解和泛型(这对JSON解析至关重要)
|
||||||
|
#-keepattributes Signature, InnerClasses, EnclosingMethod
|
||||||
|
#-keepattributes *Annotation*
|
||||||
|
#
|
||||||
|
## ========== 针对COS服务初始化及请求构造的增强规则 ==========
|
||||||
|
#
|
||||||
|
## 1. 精确保护服务配置类(CosXmlServiceConfig等),这是设置Bucket、Region的地方
|
||||||
|
#-keep class com.tencent.qcloud.cos.**.CosXmlServiceConfig {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
#-keep class com.tencent.qcloud.cos.**.COSBucket {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
## 保护所有可能存储地域、AppId、BucketName等配置的类
|
||||||
|
#-keep class * implements com.tencent.qcloud.core.common.QCloudClientConfig {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## 2. 保护所有与“主机”、“域名”、“端点”相关的字段和方法(使用模糊匹配)
|
||||||
|
#-keepclassmembers class com.tencent.qcloud.** {
|
||||||
|
# # 保护所有可能是字符串类型的配置字段
|
||||||
|
# java.lang.String bucketName;
|
||||||
|
# java.lang.String bucket;
|
||||||
|
# java.lang.String region;
|
||||||
|
# java.lang.String appid;
|
||||||
|
# java.lang.String endpoint;
|
||||||
|
# java.lang.String host;
|
||||||
|
# java.lang.String suffix;
|
||||||
|
# # 保护这些字段的getter/setter方法
|
||||||
|
# public void set*(***);
|
||||||
|
# public *** get*();
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## 3. 保护所有用于构建请求、URL的Builder类或相关类
|
||||||
|
#-keep class com.tencent.qcloud.cos.**.builder.** {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
#-keep class com.tencent.qcloud.cos.transfer.** {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## 4. 【关键】保留所有注解,很多SDK使用注解来标记配置
|
||||||
|
#-keepattributes *Annotation*
|
||||||
|
## 保留所有可能用于序列化配置的类成员
|
||||||
|
#-keepclassmembers class ** {
|
||||||
|
# @com.tencent.qcloud.core.auth.SensitiveData *;
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## 1. 直接保护出错堆栈中的核心类 CosXmlBaseService 及其一切
|
||||||
|
#-keep class com.tencent.cos.xml.CosXmlBaseService {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
## 2. 保护其所有内部类和父类/子类
|
||||||
|
#-keep class * extends com.tencent.cos.xml.CosXmlBaseService {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
## 3. 保护所有可能用于存储Bucket、Region等配置的模型类
|
||||||
|
#-keep class com.tencent.cos.xml.model.** {
|
||||||
|
# *;
|
||||||
|
#}
|
||||||
|
## 4. 额外保护所有涉及“host”、“endpoint”、“bucket”、“region”字符串的字段,无论它在哪个类
|
||||||
|
#-keepclassmembers class ** {
|
||||||
|
# @com.tencent.qcloud.core.auth.SensitiveData <fields>;
|
||||||
|
# java.lang.String *bucket*;
|
||||||
|
# java.lang.String *region*;
|
||||||
|
# java.lang.String *endpoint*;
|
||||||
|
# java.lang.String *host*;
|
||||||
|
# java.lang.String *appid*;
|
||||||
|
#}
|
||||||
|
|
||||||
|
#-keep class com.qcloud.cos.model.** { *; }
|
||||||
|
#-keep class * implements com.qcloud.cos.** { *; }
|
||||||
|
#-keepattributes Signature, *Annotation*
|
||||||
|
#-keep class com.qcloud.cos.**$* { *; }
|
||||||
|
|||||||
Reference in New Issue
Block a user