混淆

来源:互联网 发布:world of goo 破解mac 编辑:程序博客网 时间:2024/04/29 16:56

android studio 混淆在 proguard-rules.pro 中配置规则

1.不混淆jar包(匹配部分包名)

-dontwarn com.example.**-keep class com.example.**{ *;}

2.不混淆某个类(需要些全类名)

-keep class com.example.test.Demo{*;} 

3.不进行优化

-dontoptimize

4.不进行预校验

-dontpreverify

5.不混淆 Parcelable 不被混淆

-keep class * implements android.os.Parcelable {    public static final android.os.Parcelable$Creator *;}

6.不混淆枚举类的成员:values方法和valueOf (每个enum 类都默认有这两个方法)

-keepclassmembers enum * {    public static **[] values();    public static ** valueOf(java.lang.String);}

7.不混淆Student子类的属性与方法

-keepclasseswithmembers class * extends Student{      < fields >;      < methods >;  }

8.不混淆activity子类不被混淆

-keepclassmembers class * extends android.app.Activity {   public void *(android.view.View);}

9.指定不混淆所有的JNI方法

-keepclasseswithmembernames class * {    native < methods >;  }  

10.移除Log类打印各个等级日志的代码,打正式包的时候可以做为禁log使用

-assumenosideeffects class android.util.Log {      public static *** v(...);      public static *** i(...);      public static *** d(...);      public static *** w(...);      public static *** e(...);  }  

11.不混淆注解

-keepattributes *Annotation*  -keepattributes *JavascriptInterface* 

12.不混淆BroadcastReceiver

-keep public class * extends android.content.BroadcastReceiver

注:1.android四大组件类名都不能混淆
2.使用fastJson解析的对象也不能混淆

0 0