使用Proguard混淆Gson文件

    在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>;
}
相關文章
相關標籤/搜索