| 
					
				 | 
			
			
				@@ -18,4 +18,139 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # If you keep the line number information, uncomment this to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # hide the original source file name. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#-renamesourcefileattribute SourceFile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#-renamesourcefileattribute SourceFile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 代码混淆压缩比,在0~7之间,默认为5,一般不下需要修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-optimizationpasses 5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 混淆时不使用大小写混合,混淆后的类名为小写 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## windows下的同学还是加入这个选项吧(windows大小写不敏感) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontusemixedcaseclassnames 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 指定不去忽略非公共的库的类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 默认跳过,有些情况下编写的代码与类库中的类在同一个包下,并且持有包中内容的引用,此时就需要加入此条声明 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontskipnonpubliclibraryclasses 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 指定不去忽略非公共的库的类的成员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontskipnonpubliclibraryclassmembers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 不做预检验,preverify是proguard的四个步骤之一 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Android不需要preverify,去掉这一步可以加快混淆速度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontpreverify 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 有了verbose这句话,混淆后就会生成映射文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-verbose 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#apk 包内所有 class 的内部结构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dump class_files.txt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#未混淆的类和成员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-printseeds seeds.txt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#列出从 apk 中删除的代码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-printusage unused.txt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#混淆前后的映射 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-printmapping mapping.txt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 指定混淆时采用的算法,后面的参数是一个过滤器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 这个过滤器是谷歌推荐的算法,一般不改变 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-optimizations !code/simplification/artithmetic,!field/*,!class/merging/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 保护代码中的Annotation不被混淆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 这在JSON实体映射时非常重要,比如fastJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keepattributes *Annotation* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 避免混淆泛型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 这在JSON实体映射时非常重要,比如fastJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keepattributes Signature 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 抛出异常时保留代码行号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keepattributes SourceFile,LineNumberTable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 实体类不混淆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class com.emato.ich.entity.** {*;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 不需要混淆的安卓类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.app.Fragment 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.app.Activity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.app.Application 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.app.Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.content.BroadcastReceiver 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.preference.Preference 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.content.ContentProvider 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.app.backup.BackupAgentHelper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.preference.Preference 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.view.View 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# support下所有类及其内部类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class android.support.** {*;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontwarn android.support.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep interface android.support.** { *; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# androidx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class androidx.** {*;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep interface androidx.** {*;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends androidx.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontwarn androidx.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# support v4/7库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.support.v4.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.support.v7.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class * extends android.support.annotation.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# support design库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontwarn android.support.design.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class android.support.design.** { *; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep interface android.support.design.** { *; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep public class android.support.design.R$* { *; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# androidx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class com.google.android.material.** {*;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontwarn com.google.android.material.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontnote com.google.android.material.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 资源文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class **.R$* {*;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 避免layout中onClick方法混淆(android:onclick="onClick") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keepclassmembers class * extends android.app.Activity{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void *(android.view.View); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 避免回调函数 onXXEvent混淆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keepclassmembers class * { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    void *(*Event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 避免枚举混淆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keepclassmembers enum * { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static **[] values(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static ** valueOf(java.lang.String); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Native方法不混淆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keepclasseswithmembernames class * { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    native <methods>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 避免Parcelable混淆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class * implements android.os.Parcelable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public static final android.os.Parcelable$Creator *; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 避免Serializable接口的子类中指定的某些成员变量和方法混淆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keepclassmembers class * implements java.io.Serializable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static final long serialVersionUID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final java.io.ObjectStreamField[] serialPersistentFields; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    !static !transient <fields>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void writeObject(java.io.ObjectOutputStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void readObject(java.io.ObjectInputStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    java.lang.Object writeReplace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    java.lang.Object readResolve(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 避免okhttp3混淆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontwarn com.squareup.okhttp3.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class com.squareup.okhttp3.** { *;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-dontwarn okio.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 避免小铁sdk混淆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class com.cherry.sdk.** { *; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-keep class com.cherry.sdk.** 
			 |