fastJson混淆遇到的坑

今天在给代码添加混淆之后,运行app,发现涉及到网络请求的地方页面并没有成功的得到数据更新,查看logcat后发现,网络请求data字段经过解析后,始终返回的是null,让我很是郁闷,之前明明都是正常的呀,于是就估摸着是不是混淆带来的问题,关闭混淆后,重新运行app,又一切正常,因此,问题定位就确定了,肯定是混淆不恰当引起的问题。

根据fastJson的教程,我添加了对应的混淆代码。

-dontwarn com.alibaba.fastjson.**

-keep class com.alibaba.fastjson.** { *; }

-keepattributes Signature

反复搜索,没有问题啊,网络上大家伙也都是这么设置的,那问题出在哪里呢,很是纠结。最后跟朋友讨论,原来需要把实体(entry)禁止混淆,这样就不会有问题了。

-keep public class com.xxx.xxx.bean.** {

public void set(**);

public *** get*();

public *** is*();

}

附上禁止混淆实体的规则,在此做一下记录。也希望能帮助到遇到同样问题的同学

你可能感兴趣的:(fastJson混淆遇到的坑)