Règle de confusion
# Spécifiez le nombre de passes d'optimisation à effectuer
-optimizationpasses 5
# Ne pas générer de noms de classes en casse mixte lors de la confusion, c'est-à-dire tout en minuscules
-dontusemixedcaseclassnames
# Spécifie que les classes qui n'ignorent pas les bibliothèques non publiques
-dontskipnonpubliclibraryclasses
# Spécifie que les membres de classes de bibliothèque (champs et méthodes) visibles au package ne sont pas ignorés.
-dontskipnonpubliclibraryclassmembers
# Les noms de méthodes dans la classe confuse sont également confus, et un nom unique de confusion est généré pour la classe à confondre
-useuniqueclassmembernames
# Désactiver la prévalidation
-dontpreverify
# Afficher le journal du processus et sortir plus d'informations pendant le traitement
-verbose
# Spécifiez l'algorithme d'optimisation
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# Désactiver l'optimisation
-dontoptimize
# Étendre les autorisations d'accès des classes et des membres de classe pour permettre l'accès et la modification des classes et membres de classe avec des modificateurs pendant l'optimisation
-allowaccessmodification
# Préserver les noms des paramètres des méthodes qui doivent être conservés
-keepparameternames
# Les quatre composants ne doivent pas être confondus
-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
# Renommer la source du fichier de trace de la pile d'obfuscation en "SourceFile"
-renamesourcefileattribute SourceFile
# Protéger les annotations. Si votre code dépend des annotations, vous voudrez peut-être les conserver
-keepattributes *Annotation*
# Préserver les noms de fichiers sources, les noms de variables et les numéros de ligne pour produire des traces de pile confuses utiles
-keepattributes SourceFile,LineNumberTable
# Exceptions réservées, classes/interfaces internes, génériques, méthodes obsolètes
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
# Conserver les membres statiques du fichier R afin que le code appelant puisse accéder à ces champs via l'introspection
-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, si R8 est utilisé pour la confusion, le token peut ne pas être disponible
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
# oppo
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
# vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
-keep class com.hihonor.push.**{*; }
# Spécifiez le nombre de passes d'optimisation à effectuer
-optimizationpasses 5
# Ne pas générer de noms de classes en casse mixte lors de la confusion, c'est-à-dire tout en minuscules
-dontusemixedcaseclassnames
# Spécifie que les classes qui n'ignorent pas les bibliothèques non publiques
-dontskipnonpubliclibraryclasses
# Spécifie que les membres de classes de bibliothèque (champs et méthodes) visibles au package ne sont pas ignorés.
-dontskipnonpubliclibraryclassmembers
# Les noms de méthodes dans la classe confuse sont également confus, et un nom unique de confusion est généré pour la classe à confondre
-useuniqueclassmembernames
# Désactiver la prévalidation
-dontpreverify
# Afficher le journal du processus et sortir plus d'informations pendant le traitement
-verbose
# Spécifiez l'algorithme d'optimisation
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# Désactiver l'optimisation
-dontoptimize
# Étendre les autorisations d'accès des classes et des membres de classe pour permettre l'accès et la modification des classes et membres de classe avec des modificateurs pendant l'optimisation
-allowaccessmodification
# Préserver les noms des paramètres des méthodes qui doivent être conservés
-keepparameternames
# Les quatre composants ne doivent pas être confondus
-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
# Renommer la source du fichier de trace de la pile d'obfuscation en "SourceFile"
-renamesourcefileattribute SourceFile
# Protéger les annotations. Si votre code dépend des annotations, vous voudrez peut-être les conserver
-keepattributes *Annotation*
# Préserver les noms de fichiers sources, les noms de variables et les numéros de ligne pour produire des traces de pile confuses utiles
-keepattributes SourceFile,LineNumberTable
# Exceptions réservées, classes/interfaces internes, génériques, méthodes obsolètes
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
# Conserver les membres statiques du fichier R afin que le code appelant puisse accéder à ces champs via l'introspection
-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, si R8 est utilisé pour la confusion, le token peut ne pas être disponible
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
# oppo
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
# vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
-keep class com.hihonor.push.**{*; }
Afficher ce bloc de code dans la fenêtre flottante

