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
icon
Vertrieb kontaktieren