转自: http://blog.csdn.net/taotao19880301/article/details/17119249

工程中使用了fastjson,无奈,对工程做混淆的时候总是报错过不去,后来过去了又出现使用fastjson的地方数据不正确的问题,试了好多办法才成功,废话不多说,添加的代码:

[view plain](http://www.programgo.com/article/6267404252/#)
- ##&#8212;&#8212;&#8212;&#8212;&#8212;Begin: proguard configuration <span class="keyword">for</span> fastjson  &#8212;&#8212;&#8212;-

- 
- #-keepnames <span class="keyword">class</span> * <span class="keyword">implements</span> java.io.Serializable

- -keep <span class="keyword">public</span> <span class="keyword">class</span> * <span class="keyword">implements</span> java.io.Serializable {

- <span class="keyword">public</span> *;

- }

- -keepclassmembers <span class="keyword">class</span> * <span class="keyword">implements</span> java.io.Serializable {

- <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">long</span> serialVersionUID;

- <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> java.io.ObjectStreamField[] serialPersistentFields;

- <span class="keyword">private</span> <span class="keyword">void</span> writeObject(java.io.ObjectOutputStream);

- <span class="keyword">private</span> <span class="keyword">void</span> readObject(java.io.ObjectInputStream);

- java.lang.Object writeReplace();

- java.lang.Object readResolve();

- }

- -dontwarn android.support.**

- -dontwarn com.alibaba.fastjson.**

- 
- -dontskipnonpubliclibraryclassmembers

- -dontskipnonpubliclibraryclasses

- 
- -libraryjars libs/fastjson.jar

- -keep <span class="keyword">class</span> com.alibaba.fastjson.** { *; }

- 
- -keepclassmembers <span class="keyword">class</span> * {

- <span class="keyword">public</span> <methods>;

- }

- 
- ##&#8212;&#8212;&#8212;&#8212;&#8212;End: proguard configuration <span class="keyword">for</span> fastjson  &#8212;&#8212;&#8212;-

Gson的混淆:

[view plain](http://www.programgo.com/article/6267404252/#)
- ##&#8212;&#8212;&#8212;&#8212;&#8212;Begin: proguard configuration <span class="keyword">for</span> Gson  &#8212;&#8212;&#8212;-

- # Gson uses generic type information stored in a <span class="keyword">class</span> file when working with fields. Proguard

- # removes such information by <span class="keyword">default</span>, so configure it to keep all of it.

- -keepattributes Signature

- 
- # For using GSON <span class="annotation">@Expose</span> annotation

- -keepattributes *Annotation*

- 
- # Gson specific classes

- -keep <span class="keyword">class</span> sun.misc.Unsafe { *; }

- #-keep <span class="keyword">class</span> com.google.gson.stream.** { *; }

- 
- 
- # Application classes that will be serialized/deserialized over Gson

- <span style=<span class="string">&#8220;color:#ff0000;&#8221;</span>>-keep <span class="keyword">class</span> cn.howie.base.data.** { *; }

- -keep <span class="keyword">class</span> cn.howie.base.bean.** { *; }</span>

- 
- 
- ##&#8212;&#8212;&#8212;&#8212;&#8212;End: proguard configuration <span class="keyword">for</span> Gson  &#8212;&#8212;&#8212;-

其中红色部分必须为自己项目中的实体类,否则混淆后无法正常显示数据,网上有好多博客都很坑,直接把google文档的代码直接贴出来了,一定要修改红色部分。