有个项目的部分请求是volley,混淆之后发现,有返回数据,但是请求失败,后来发现是返回数据gson的解析失败,然后去查了一下gson的混淆,这里分享一下
##---------------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 ----------
这是google官方的proguard的文档,请注意倒数第二行,class 后方到**签名的 这一段包名应该是你所有的java bean 定义的目录(所以自己在写代码时,应该把java bean 单独放在一个包中)。
如果要保留的类是内部类。可以使用下面声明:
-keep class com.project.mocha_patient.login.FindForgotInfoActivity$ForgetResponse {*;}
链接地址:http://blog.sina.com.cn/s/blog_4e1e357d0101ednf.html
http://www.tuicool.com/articles/AfaqM3e
http://blog.csdn.net/yuxiaohui78/article/details/46885337