您的位置:首页 > 移动开发 > Android开发

[android] Proguard代码混淆器如何排除指定的类或子类

2013-10-29 04:48 597 查看
使用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  ----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: