กฎการทำให้สับสน
#ระบุจำนวนรอบการปรับแต่งให้ดำเนินการ -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
#สงวนข้อยกเว้น คลาส/อินเทอร์เฟซภายใน เจเนอริก เมธอดที่เลิกใช้แล้ว -keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
#เก็บสมาชิกแบบคงที่ของไฟล์ R เพื่อให้โค้ดที่เรียกสามารถเข้าถึงฟิลด์เหล่านี้ผ่านการตรวจสอบได้
-keepclassmembers class **.R$* {
public static
#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 สำหรับการทำให้สับสน โทเค็นอาจไม่สามารถใช้งานได้ -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.**{*; }