Confusion rule
# Anzahl der Optimierungsvorgänge festlegen
-optimizationpasses 5
# Bei der Verschleierung ausschließlich Kleinbuchstaben für Klassennamen verwenden
-dontusemixedcaseclassnames
# Angeben, dass Klassen nicht-öffentliche Bibliotheken nicht ignorieren
-dontskipnonpubliclibraryclasses
# Angeben, dass im Paket sichtbare Mitglieder von Bibliotheksklassen (Felder und Methoden) nicht ignoriert werden
-dontskipnonpubliclibraryclassmembers
# Auch Methodennamen in verschleierten Klassen verschleiern und eindeutige Verschleierungsnamen für zu verschleierende Klassen generieren
-useuniqueclassmembernames
# Vorabvalidierung deaktivieren
-dontpreverify
# Während der Verarbeitung Protokolle und zusätzliche Informationen ausgeben
-verbose
# Optimierungsalgorithmus auswählen
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# Optimierungen deaktivieren
-dontoptimize
# Zugriffsrechte von Klassen und Mitgliedern während der Optimierung erweitern
-allowaccessmodification
# Parameternamen von zu behaltenden Methoden erhalten
-keepparameternames
# Vier Komponenten dürfen nicht verschleiert werden:
-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
# Den Quellcode-Namen in der Verschleierungs-Stacktrace-Datei in "SourceFile" umbenennen
-renamesourcefileattribute SourceFile
# Annotationen schützen. Falls Ihr Code von Annotationen abhängt, sollten Sie diese beibehalten
-keepattributes *Annotation*
# Quellcode-Dateinamen, Variablennamen und Zeilennummern beibehalten, um aussagekräftige Stacktraces nach der Verschleierung zu erzeugen
-keepattributes SourceFile,LineNumberTable
# Ausnahmen, innere Klassen/Interfaces, Generics und veraltete Methoden beibehalten
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
# Statische Mitglieder der R-Klasse erhalten, damit aufrufender Code über Introspektion auf diese Felder zugreifen kann
-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.huawei.hianalytics.** {*;}
-keep class com.huawei.updatesdk.** {*;}
-keep class com.huawei.hms.** {*;}
-dontwarn com.huawei.hianalytics.**
-dontwarn com.huawei.updatesdk.**
-dontwarn com.huawei.hms.**
# Honor
-keep class com.hihonor.push.** {*;}
-dontwarn com.hihonor.push.**
# Xiaomi
-keep class com.xiaomi.** {*;}
-dontwarn com.xiaomi.**
# Meizu (bei Verwendung von R8 zur Verschleierung ist das Token möglicherweise nicht verfügbar)
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
# Oppo
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
# Vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
# Warnungen ignorieren
-ignorewarnings
# Attribute beibehalten
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
# Anzahl der Optimierungsvorgänge festlegen
-optimizationpasses 5
# Bei der Verschleierung ausschließlich Kleinbuchstaben für Klassennamen verwenden
-dontusemixedcaseclassnames
# Angeben, dass Klassen nicht-öffentliche Bibliotheken nicht ignorieren
-dontskipnonpubliclibraryclasses
# Angeben, dass im Paket sichtbare Mitglieder von Bibliotheksklassen (Felder und Methoden) nicht ignoriert werden
-dontskipnonpubliclibraryclassmembers
# Auch Methodennamen in verschleierten Klassen verschleiern und eindeutige Verschleierungsnamen für zu verschleierende Klassen generieren
-useuniqueclassmembernames
# Vorabvalidierung deaktivieren
-dontpreverify
# Während der Verarbeitung Protokolle und zusätzliche Informationen ausgeben
-verbose
# Optimierungsalgorithmus auswählen
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# Optimierungen deaktivieren
-dontoptimize
# Zugriffsrechte von Klassen und Mitgliedern während der Optimierung erweitern
-allowaccessmodification
# Parameternamen von zu behaltenden Methoden erhalten
-keepparameternames
# Vier Komponenten dürfen nicht verschleiert werden:
-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
# Den Quellcode-Namen in der Verschleierungs-Stacktrace-Datei in "SourceFile" umbenennen
-renamesourcefileattribute SourceFile
# Annotationen schützen. Falls Ihr Code von Annotationen abhängt, sollten Sie diese beibehalten
-keepattributes *Annotation*
# Quellcode-Dateinamen, Variablennamen und Zeilennummern beibehalten, um aussagekräftige Stacktraces nach der Verschleierung zu erzeugen
-keepattributes SourceFile,LineNumberTable
# Ausnahmen, innere Klassen/Interfaces, Generics und veraltete Methoden beibehalten
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
# Statische Mitglieder der R-Klasse erhalten, damit aufrufender Code über Introspektion auf diese Felder zugreifen kann
-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.huawei.hianalytics.** {*;}
-keep class com.huawei.updatesdk.** {*;}
-keep class com.huawei.hms.** {*;}
-dontwarn com.huawei.hianalytics.**
-dontwarn com.huawei.updatesdk.**
-dontwarn com.huawei.hms.**
# Honor
-keep class com.hihonor.push.** {*;}
-dontwarn com.hihonor.push.**
# Xiaomi
-keep class com.xiaomi.** {*;}
-dontwarn com.xiaomi.**
# Meizu (bei Verwendung von R8 zur Verschleierung ist das Token möglicherweise nicht verfügbar)
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
# Oppo
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
# Vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
# Warnungen ignorieren
-ignorewarnings
# Attribute beibehalten
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
Diesen Codeblock im schwebenden Fenster anzeigen

