Aturan Confusion
# Tentukan jumlah pengoptimalan yang akan dijalankan
-optimizationpasses 5
# Jangan gunakan nama kelas campuran huruf besar-kecil saat confusion, gunakan huruf kecil semua
-dontusemixedcaseclassnames
# Tentukan agar kelas non-publik dari library tidak diabaikan
-dontskipnonpubliclibraryclasses
# Tentukan agar anggota kelas library (field dan method) yang terlihat oleh paket tidak diabaikan
-dontskipnonpubliclibraryclassmembers
# Nama method dalam kelas yang di-confuse juga akan diubah, dan nama unik akan dihasilkan untuk kelas yang di-confuse
-useuniqueclassmembernames
# Matikan pre verification
-dontpreverify
# Cetak log proses dan tampilkan lebih banyak informasi selama pemrosesan
-verbose
# Tentukan algoritma optimasi
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# Matikan optimasi
-dontoptimize
# Perluas izin akses kelas dan anggota kelas agar dapat diakses dan dimodifikasi selama optimasi
-allowaccessmodification
# Pertahankan nama parameter pada method yang perlu dipertahankan
-keepparameternames
# Empat komponen utama tidak boleh di-confuse
-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
# Ganti nama sumber file stack trace obfuscation menjadi "SourceFile"
-renamesourcefileattribute SourceFile
# Lindungi anotasi. Jika kode Anda bergantung pada anotasi, Anda mungkin ingin mempertahankannya
-keepattributes *Annotation*
# Pertahankan nama file sumber, nama variabel, dan nomor baris untuk menghasilkan stack trace confusion yang berguna
-keepattributes SourceFile,LineNumberTable
# Pertahankan pengecualian, kelas/internal interface, generik, method yang deprecated
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
# Pertahankan anggota statis dari file R agar kode pemanggil dapat mengakses field ini melalui introspeksi
-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.**{*;}
-dontwarn com.huawei.**
# xiaomi
-keep class com.xiaomi.** {*;}
-dontwarn com.xiaomi.**
# meizu, Jika menggunakan R8 untuk confusion, token mungkin tidak tersedia
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
# oppo
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
# vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
# abaikan semua peringatan
-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.**{*; }
# Tentukan jumlah pengoptimalan yang akan dijalankan
-optimizationpasses 5
# Jangan gunakan nama kelas campuran huruf besar-kecil saat confusion, gunakan huruf kecil semua
-dontusemixedcaseclassnames
# Tentukan agar kelas non-publik dari library tidak diabaikan
-dontskipnonpubliclibraryclasses
# Tentukan agar anggota kelas library (field dan method) yang terlihat oleh paket tidak diabaikan
-dontskipnonpubliclibraryclassmembers
# Nama method dalam kelas yang di-confuse juga akan diubah, dan nama unik akan dihasilkan untuk kelas yang di-confuse
-useuniqueclassmembernames
# Matikan pre verification
-dontpreverify
# Cetak log proses dan tampilkan lebih banyak informasi selama pemrosesan
-verbose
# Tentukan algoritma optimasi
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# Matikan optimasi
-dontoptimize
# Perluas izin akses kelas dan anggota kelas agar dapat diakses dan dimodifikasi selama optimasi
-allowaccessmodification
# Pertahankan nama parameter pada method yang perlu dipertahankan
-keepparameternames
# Empat komponen utama tidak boleh di-confuse
-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
# Ganti nama sumber file stack trace obfuscation menjadi "SourceFile"
-renamesourcefileattribute SourceFile
# Lindungi anotasi. Jika kode Anda bergantung pada anotasi, Anda mungkin ingin mempertahankannya
-keepattributes *Annotation*
# Pertahankan nama file sumber, nama variabel, dan nomor baris untuk menghasilkan stack trace confusion yang berguna
-keepattributes SourceFile,LineNumberTable
# Pertahankan pengecualian, kelas/internal interface, generik, method yang deprecated
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
# Pertahankan anggota statis dari file R agar kode pemanggil dapat mengakses field ini melalui introspeksi
-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.**{*;}
-dontwarn com.huawei.**
# xiaomi
-keep class com.xiaomi.** {*;}
-dontwarn com.xiaomi.**
# meizu, Jika menggunakan R8 untuk confusion, token mungkin tidak tersedia
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
# oppo
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
# vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
# abaikan semua peringatan
-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.**{*; }
Tampilkan blok kode ini di jendela mengambang










