DigitalAgriculture/library/base/proguard-base.pro

61 lines
1.6 KiB
Prolog

# 基于 sdk/tools/proguard/proguard-android-optimize.txt 修改
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification
-dontpreverify
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
# 不要删除无用代码
-dontshrink
# 不混淆泛型
-keepattributes Signature
# 不混淆注解类
-keepattributes *Annotation*
# 不混淆本地方法
-keepclasseswithmembernames class * {
native <methods>;
}
# 不混淆 Activity 在 XML 布局所设置的 onClick 属性值
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# 不混淆枚举类
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# 不混淆 Parcelable 子类
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
# 不混淆 Serializable 子类
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
!private <fields>;
!private <methods>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# 不混淆 R 文件中的字段
-keepclassmembers class **.R$* {
public static <fields>;
}
# 不混淆 WebView 设置的 JS 接口的方法名
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}