4.反射相关的类和方法-----------------------#----------------------------------------------------------------------------#---------------------------------------------------------------------------------------------------#-------------------------------------------基本不用动区域--------------------------------------------#---------------------------------基本指令区-----------------------------------optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers-dontpreverify -verbose -printmapping proguardMapping.txt -optimizations!code/simplification/cast,!field/*,!class/merging/* -keepattributes*Annotation*,InnerClasses -keepattributes Signature -keepattributesSourceFile,LineNumberTable#----------------------------------------------------------------------------#---------------------------------默认保留区----------------------------------keep public class * extends android.app.Activity -keep public class * extendsandroid.app.Appliction -keep public class * extends android.app.Service -keeppublic class * extends android.content.BroadcastReceiver -keep public class *extends android.content.ContentProvider -keep public class * extendsandroid.app.backup.BackupAgentHelper -keep public class * extendsandroid.preference.Preference -keep public class * extends android.view.View-keep public class com.android.vending.licensing.ILicensingService -keep classandroid.support.** {*;} -keepclasseswithmembernames class * { native ; } -keepclassmembers class * extendsandroid.app.Activity{ public void *(android.view.View); }-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep public class *extends android.view.View{ *** get*(); voidset*(***); public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context,android.util.AttributeSet, int); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet,int); } -keep class * implements android.os.Parcelable { public staticfinal android.os.Parcelable$Creator *; } -keepclassmembers class * implementsjava.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.ObjectreadResolve(); } -keep class **.R$* { *; } -keepclassmembers class * { void *(**On*Event); }#----------------------------------------------------------------------------#---------------------------------webview-------------------------------------keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } -keepclassmembers class * extends android.webkit.webViewClient { public void *(android.webkit.WebView, java.lang.String,android.graphics.Bitmap); public boolean *(android.webkit.WebView,java.lang.String); } -keepclassmembers class * extends android.webkit.webViewClient{ public void *(android.webkit.webView, jav.lang.String); }#----------------------------------------------------------------------------#---------------------------------------------------------------------------------------------------
#-------------------------------------------定制化区域----------------------------------------------#---------------------------------1.实体类----------------------------------keep class com.demo.login.bean.** { *; } -keep class com.demo.main.bean.** {*; } #-------------------------------------------------------------------------#---------------------------------2.第三方包-------------------------------#eventBus -keepattributes *Annotation* -keepclassmembers class ** { @org.greenrobot.eventbus.Subscribe ; } -keep enumorg.greenrobot.eventbus.ThreadMode { *; } -keepclassmembers class * extendsorg.greenrobot.eventbus.util.ThrowableFailureEvent { (java.lang.Throwable); } #glide -keep public class *implements com.bumptech.glide.module.GlideModule-keep public enumcom.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { **[]$VALUES; public *; } #log4j -libraryjars log4j-1.2.17.jar -dontwarnorg.apache.log4j.** -keep class org.apache.log4j.** { *;}#-------------------------------------------------------------------------#---------------------------------3.与js互相调用的类------------------------ -keepclasseswithmembers classcom.demo.login.bean.ui.MainActivity$JSInterface { ; } #-------------------------------------------------------------------------#---------------------------------4.反射相关的类和方法-----------------------#TODO 我的工程里没有。。。#----------------------------------------------------------------------------#---------------------------------------------------------------------------------------------------#-------------------------------------------基本不用动区域--------------------------------------------#---------------------------------基本指令区-----------------------------------optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers-dontpreverify -verbose -printmapping proguardMapping.txt -optimizations!code/simplification/cast,!field/*,!class/merging/* -keepattributes*Annotation*,InnerClasses -keepattributes Signature -keepattributesSourceFile,LineNumberTable#----------------------------------------------------------------------------#---------------------------------默认保留区----------------------------------keep public class * extends android.app.Activity -keep public class * extendsandroid.app.Appliction -keep public class * extends android.app.Service -keeppublic class * extends android.content.BroadcastReceiver -keep public class *extends android.content.ContentProvider -keep public class * extendsandroid.app.backup.BackupAgentHelper -keep public class * extendsandroid.preference.Preference -keep public class * extends android.view.View-keep public class com.android.vending.licensing.ILicensingService -keep classandroid.support.** {*;} -keepclasseswithmembernames class * { native ; } -keepclassmembers class * extendsandroid.app.Activity{ public void *(android.view.View); }-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep public class *extends android.view.View{ *** get*(); voidset*(***); public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context,android.util.AttributeSet, int); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet,int); } -keep class * implements android.os.Parcelable { public staticfinal android.os.Parcelable$Creator *; } -keepclassmembers class * implementsjava.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.ObjectreadResolve(); } -keep class **.R$* { *; } -keepclassmembers class * { void *(**On*Event); }#----------------------------------------------------------------------------#---------------------------------webview-------------------------------------keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } -keepclassmembers class * extends android.webkit.webViewClient { public void *(android.webkit.WebView, java.lang.String,android.graphics.Bitmap); public boolean *(android.webkit.WebView,java.lang.String); } -keepclassmembers class * extends android.webkit.webViewClient{ public void *(android.webkit.webView, jav.lang.String); }#----------------------------------------------------------------------------#---------------------------------------------------------------------------------------------------