测试环境下json能正常转成bean,正式环境json转成bean后,很多字段为null

今天写代码的时候发现,在测试环境下进行网络请求,能够成功获取到json,并且能够把json转换成bean,然后通过bean.getData()的方式得到我想要的数据。但是切换到正式环境下,也能成功获取到json,网络请求也是正常的,也不报错,但是在把json转换成bean之后,我通过bean.getData()的方式得到的却是null,很郁闷,查了好几个小时也没有找到原因。

     最后发现,测试环境和正式环境不同的地方除了base_url不一样以外,还有个地方不一样,就是正式环境下是要代码混淆的,测试环境不用混淆。

    在混淆的时候,把bean也给混淆了,所以在正式环境下通过bean.getData()的方式得到的就是null。找到问题,这个bug就好解决了,只要保证我的这个bean不被混淆问题就解决了。

   所以找到项目下的proguard-rules.pro文件,在里面通过keep语句使得你的bean不被混淆,问题也解决了,一般可以把bean放在一个文件夹下,然后keep这个文件夹不被混淆,这样该文件夹下的所有的bean都不会被混淆了。

如果本文对您有所帮助,麻烦点击一下右侧的点赞按钮,谢谢

猜你喜欢

转载自blog.csdn.net/qq_36317441/article/details/90107947
今日推荐