Proguard 备忘录

2020-05-06  本文已影响0人  ChenME
# ------------------------------------- 使用 Proguard 保留一些内容不被混淆 ------------------------------------- #
-keepclasseswithmembernames class * {
    # 保留 native方法的方法名 和 包含native方法的类的类名 不变
    native <method>;
}

-keepclassmembernames public class * extends android.view.View {
    # 保留继承于 android.view.View 的类中的 set* 和 get* 成员函数的函数名不变
    void set*(***);
    *** get*();
}

-keepclassmembernames public class * extends android.app.Activity {
    # 保留继承于 android.app.Activity 的类中以 android.view.View 为参数的函数的函数名不变
    public void *(android.view.View);
}

-keep class * implements android.os.Parcelable {
    # 保留实现了 android.os.Parcelable 接口的类的类名以及
    public static final android.os.Parcelable$Creator *;
}

-keepclassmembers class **.R$* {
    # 保留 R$* 类中静态字段的字段名
    public static <fields>;
}

# ------------------------------------- 使用 Proguard 去除 Log 日志 ------------------------------------- #

-assumenosideeffects class android.util.Log { # 去除系统的 Log 日志
    public static *** d(...);
    public static *** e(...);
    public static *** i(...);
    public static *** v(...);
    public static *** println(...);
    public static *** w(...);
    public static *** wtf(...);
}

-assumenosideeffects class mm.apk.utils.L { # 去除自定义的 Log 日志
    public static *** d(...);
    public static *** e(...);
    public static *** i(...);
    public static *** v(...);
    public static *** println(...);
    public static *** w(...);
    public static *** wtf(...);
}
上一篇 下一篇

猜你喜欢

热点阅读