关于pingpp(招行一网通)-混淆

测试环境下,代码都运行的好好的,没有bug,但是一打包成生产环境,有些功能就实现不出来了——不知道有没这种情况,哈哈哈,心累,,遇到了好几次了,如果测试下没问题,到了生产环境就有问题,那么很大可能就是—部分代码被混淆了(在你开启代码混淆后),像我们经常使用第三方的,一定要及时的加上作者备注的混淆说明,不然有时候忘记了,找半天找不到问题所在,那就很无语了。
偏偏有些,,,代码混淆说明也没有。。。这个时候就要注意了,需要自己找哪些类被混淆了。就像我之前用轻量级的数据库lite-orm。
在用于创建table表的bean类中使用了

    // 指定自增,每个对象需要有一个主键
    @PrimaryKey(AssignType.AUTO_INCREMENT)

在混淆后,这个PrimaryKey接口被混淆掉了。
在pro guard-rules中添加如下代码,将lite-orm-1.7.0.jar包中包名下的类全都不要混淆

-dontwarn  com.litesuits.orm.**
-keep class com.litesuits.orm.** {*;}

同样的,,,在下午发布生产包的时候,测试了pingpp招行一网通支付,在输入了银行卡账号及一些信息后,输入支付密码时,,,软键盘居然不能弹框,,,,,为什么我打了这么多,,,,因为,,,,

于是乎又重新看了pingpp的开发文档,,该配置的都配置了,混淆规则也添加了,但是还是出现了问题,那么其中弹软键盘的一个activity叫PBKeyboardActivity,估计问题就是出在这个类上,于是对pingpp下cmbkeyboard.jar包下的类都添加不被混淆

-dontwarn  cmb.pb.**
-keep class cmb.pb.** {*;}

果然就没问题了,

一般常见的混淆规则我们都知道,但是当接入第三方或者别人的库时,测试和生产环境下有出入,那么第一想法很有可能就是有些类被混淆了,当然如果你没有开启混淆功能,那肯定没事啦。

转了一篇Android 项目的代码混淆,Android proguard 使用说明还是很详细的。
http://blog.csdn.net/catoop/article/details/47208833

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值