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

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

item.setGiftText(gift.giftDesc);

GiftModel giftModel = new GiftModel();

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值