android 开发中遇到的混淆的问题

来源:互联网 发布:最好的公交查询软件 编辑:程序博客网 时间:2024/06/06 12:28

最近在做网红项目,是个聊天工具,在我们发送礼物或者评价的时候,会吧消息的messagebody瓶装成json 字符串的形式交给后台处理,出行pc 端始终收不到消息的问题,本地的电脑上测试的包debug 看没有啥问题,是正确的json 字符串的样式,后来在服务端,看到的是{"a":"XXXX","b":"xxx"}这样的样式,问题的关键是本地测试包没有问题,在mcd 打的包会出现这种情况,问题出现在这个json 串被混淆了,查看代码:

item.setGiftText(gift.giftDesc);

GiftModel giftModel =newGiftModel();

giftModel.title = gift.giftDesc;giftModel.ext.giftId = String.valueOf(gift.giftId);giftModel.ext.image = gift.giftImage;giftModel.action = ChatConstants.GIFT_TYPE;giftModel.isPresent = true;JSONObject object = JsonUtil.simpleObjectToJson(giftModel);if (object != null) {    item.setMessage(object.toString()
);}
这个里用到了GiftModel 这个类,利用java 的反射机制,将数据进行拼接,


是的,我们会发现,Java的反射再也找不到它想找的类,或者方法,或者属性了。
是的,因为代码混淆的原因,原本的类名、方法名、属性名都改变了,而反射它还是按照原来的名字去反射,结果只能射出一个程序崩溃。
决的方法当然有~
那就是,让和反射有关的那些代码或者类,不进行混淆,那就不会有上述的问题了~!


public class ctrip.android.hotel.order.librichtexteditor.GiftModel{ public *;protected *;}




0 0
原创粉丝点击