[android] Proguard代码混淆器如何排除指定的类或子类
16lz
2021-01-26
使用Proguard代码混淆器,特别要注意一点的就是使用了反射机制的类属性或方法最好不要参与混淆.
Proguard 4.5 相关的选项配置如下:
#不要混淆MyBean的所有属性与方法-keepclasseswithmembers class MyBean { <fields>; <methods>;}
#不要混淆MySuperBean所有子类的属性与方法-keepclasseswithmembers class * extends MySuperBean{ <fields>; <methods>;}
#不混淆某个包下的类-keep class com.google.** {*;}
如果项目中使用到 Gson(Json)那么要使用下面的代码
##---------------Begin: proguard configuration for Gson ---------- # Gson uses generic type information stored in a class file when working with fields. Proguard # removes such information by default, so configure it to keep all of it. -keepattributes Signature # For using GSON @Expose annotation -keepattributes *Annotation* # Gson specific classes -keep class sun.misc.Unsafe { *; } #-keep class com.google.gson.stream.** { *; } # Application classes that will be serialized/deserialized over Gson -keep class com.google.gson.examples.android.model.** { *; } ##---------------End: proguard configuration for Gson ----------
更多相关文章
- Android(安卓)ApiDemos示例解析(103):Views->Auto Complete->5.
- Android——ContentProvider总结
- Android中使用定时器的三种方法
- Android(安卓)Studio 项目混淆打包时,报错Caused by: java.lang.N
- Support Annotation Library使用详解
- Android(安卓)从原型模式看java实例化对象clone和new的区别
- Android高仿IOS和QQ的弹出对话框
- Android仿考拉全局滑动返回及联动效果的实现方法
- 关于android双卡手机sim卡信息采集适配的心得