以keepattrbutes開頭,不混淆的各類屬性以下:java
-keepattributes Exceptions,InnerClasses,...
複製代碼
-keepattributes Signature
複製代碼
-keepattributes *Annotation*
複製代碼
-keepattributes SourceFile,LineNumberTable
複製代碼
-keepattributes *JavascriptInterface*
複製代碼
使用內部類寫法$,例如:android
-keep interface some.demo$inner{*;}
複製代碼
-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.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public class * extends android.widget.BaseAdapter {*;}
複製代碼
-keepclasseswithmembernames class * {
native <methods>;
}
複製代碼
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
複製代碼
-keep class * implements android.os.Parcelable{
public static final android.os.Parcelable$Creator *;
}
複製代碼
-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();
}
複製代碼
-keepclassmembers class **.R$* { *; }
-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, java.lang.String);
}
# support-v4
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.** { *; }
-keep public class * extends android.support.v4.**
# support-v7
-dontwarn android.support.v7.** #去掉警告
-keep class android.support.v7.** { *; } #過濾android.support.v7
-keep interface android.support.v7.app.** { *; }
-keep public class * extends android.support.v7.**
複製代碼
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(***);
*** get* ();
}
複製代碼
-keepclassmembers class * {
void *(**On*Listener);
}
複製代碼
# 不混淆第三方引用的庫
-dontskipnonpubliclibraryclasses
複製代碼
剩餘的還有自身項目的數據模型的類。web