在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>; }