Android 混淆引起的bug

在接手一个老项目并发布到正式环境时,由于混淆配置错误,导致用户登录时的loading dialog无法正常关闭。问题源于未将新添加的依赖库和JavaBean类加入混淆配置。解决方案是更新混淆配置,确保所有关键类和三方库不受混淆影响。建议在开发过程中及时更新混淆配置,以避免类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

最近新接手二次开发的一个几年前的项目,一直在测试环境开发测试,没有任何问题,在发布到正式环境打release包的时候,出现异常,始终得不到正确的结果


问题描述:

由于是老项目,配置也没仔细研究,新的依赖库和工具库也是从公司另一个项目移植过去的,在测试环境下没有开启混淆,所以一直没有发现忘记配置混淆的问题,在最后发布正式版本的时候就出现了异常。我们是做海外用户的,在用户登录时会显示一个loading dialog,成功之后会去尝试恢复一次Google的订阅,恢复成功后采用的EventBus发送消息通知页面更新,关闭loading并且回到前一页面。Debug模式没有混淆正常,正式环境时,就出现一直loading。


原因分析:

仔细分析了配置,发现测试和正式环境区别就是混淆的开闭与否,然后修改正式环境不混淆,发现结果OK,定位问题为混淆引起的问题。这里再提一次我踩的坑,一直以为只是序列化的JavaBean类混淆出了问题,没有考虑到三方依赖库也是需要避免混淆的,所以建议在添加依赖库的时候一定一定一起把配置文件一起更新了。


解决方案:

更新了三方库和Ja

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值