在Android app开发的时候,咱们会选择Proguard来混淆咱们的代码。若是app中使用了Gson来解析json文件,那么下面这个问题你狠可能会碰到: java
若是json文件对应的java bean中包含List成员: shell
public class CommonBean { private List<Bean> beans; public List<Bean> getBeans() { return beans; } public void setBeans(List<Bean> beans) { this.beans = beans; } }
那么咱们必定要修改proguard的配置文件。缘由很简单:混淆代码以后, "beans" 这个成员的名字会被一个杂乱的名字来代替,比方说"_a". Gson库在解析json文件去寻找"_a"来产生List的时候,显然是找不到的。结果就是这个CommonBean的beans属性是空。 json
咱们只须要加入下面几行到proguard配置文件中就能够了: app
-keepclassmembers class com.ilxlf.beans.CommonBean { private <fields>; }