混淆規則
最新更新:2022-11-29
混淆規則
#指定要執行的優化遍數
-optimizationpasses 5
#混淆時不生成大小寫混合的類名,即全部小寫
-dontusemixedcaseclassnames
#指定不忽略非公共的庫的類
-dontskipnonpubliclibraryclasses
#指定不忽略包可見的庫類成員(字段和方法)。
-dontskipnonpubliclibraryclassmembers
#把混淆類中的方法名也混淆了,為需要混淆的類生成唯一的混淆名稱
-useuniqueclassmembernames
#關閉預驗證
-dontpreverify
# 打印過程日誌,在處理期間輸出更多信息
-verbose
#指定優化算法
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
#關閉優化
-dontoptimize
#擴大類和類成員的訪問權限,使優化時允許訪問並修改有修飾符的類和類的成員
-allowaccessmodification
#保留那些需要被保留的方法的參數名字
-keepparameternames
#四大組件不被混淆
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
#將混淆堆棧跟踪文件來源重命名為“SourceFile”
-renamesourcefileattribute SourceFile
#保護註解。如果代碼依賴註釋,則可能需要保留註釋
-keepattributes *Annotation*
#保留源文件名,變量名和行號,以產生有用的混淆堆棧跟踪
-keepattributes SourceFile,LineNumberTable
#保留異常,內部類/接口,泛型,Deprecated不推薦的方法
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
#保留R文件的靜態成員,以使調用代碼通過自省訪問這些字段
-keepclassmembers class **.R$* {
public static <fields>;
}
#Engagelab
-keep class com.engagelab.** {*;}
-dontwarn com.engagelab.**
#google
-keep class com.google.**{*;}
-dontwarn com.google.**
#huawei
-keep class com.google.**{*;}
-dontwarn com.google.**
#xiaomi
-keep class com.xiaomi.** {*;}
-dontwarn com.xiaomi.**
#meizu,如果使用R8混淆,可能會導致拿不到token
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
#oppo
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
#vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
#指定要執行的優化遍數
-optimizationpasses 5
#混淆時不生成大小寫混合的類名,即全部小寫
-dontusemixedcaseclassnames
#指定不忽略非公共的庫的類
-dontskipnonpubliclibraryclasses
#指定不忽略包可見的庫類成員(字段和方法)。
-dontskipnonpubliclibraryclassmembers
#把混淆類中的方法名也混淆了,為需要混淆的類生成唯一的混淆名稱
-useuniqueclassmembernames
#關閉預驗證
-dontpreverify
# 打印過程日誌,在處理期間輸出更多信息
-verbose
#指定優化算法
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
#關閉優化
-dontoptimize
#擴大類和類成員的訪問權限,使優化時允許訪問並修改有修飾符的類和類的成員
-allowaccessmodification
#保留那些需要被保留的方法的參數名字
-keepparameternames
#四大組件不被混淆
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
#將混淆堆棧跟踪文件來源重命名為“SourceFile”
-renamesourcefileattribute SourceFile
#保護註解。如果代碼依賴註釋,則可能需要保留註釋
-keepattributes *Annotation*
#保留源文件名,變量名和行號,以產生有用的混淆堆棧跟踪
-keepattributes SourceFile,LineNumberTable
#保留異常,內部類/接口,泛型,Deprecated不推薦的方法
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
#保留R文件的靜態成員,以使調用代碼通過自省訪問這些字段
-keepclassmembers class **.R$* {
public static <fields>;
}
#Engagelab
-keep class com.engagelab.** {*;}
-dontwarn com.engagelab.**
#google
-keep class com.google.**{*;}
-dontwarn com.google.**
#huawei
-keep class com.google.**{*;}
-dontwarn com.google.**
#xiaomi
-keep class com.xiaomi.** {*;}
-dontwarn com.xiaomi.**
#meizu,如果使用R8混淆,可能會導致拿不到token
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
#oppo
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
#vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
此代碼塊在浮窗中顯示