问题描述
app正常业务更新
更新点击登录闪退,重新卸载安装就恢复正常
android和ios都是这样
排查过程
直接去git上看可能影响的的提交日志
初步推测·
1.服务端的问题
2.原生问题
3.通用源码
最后锁定问题是git上一次提交 修复高危漏洞(密码在本地缓存明文存储的漏洞) 写的加密逻辑有问题,没有兼容旧版本,直接取完出参就解密,substring那里有异常,也没有捕获异常抛出,导致的闪退
解决问题
修改相关的代码逻辑,捕获异常,并且兼容旧版本,判断获取到的缓存key对应的value是不是加密过的,没加密要走老逻辑
反思
1.代码review没弄好,这种代码直接往生产上提交,头疼
2.相关的开发人员 开发素养太低,不考虑兼容问题,而且逻辑自己也不梳理
3.测试不全面,问题出到生产才发现
怎么避免
1.新人或者新接触项目的代码review弄好
2.谁招来的人谁要把关,人员素质要把控,相关的培训少了,加强
3.测试的情况不全,所有问题事无巨细要总结