事情是这样的,刚接手个新项目,要加个扫码登录功能。想着这不就调个zxing库嘛结果连个demo都跑不起来,手机插上去死活没反应。
我先是把Android Studio重启了三遍,又换了两根数据线,重启手机五次。结果连设备列表都刷不出来,看着那个空荡荡的选框,感觉血压蹭蹭往上涨。
后来蹲厕所刷手机突然想起来,是不是adb抽风了?赶紧冲回电脑前开终端,噼里啪敲adb kill-server,再敲adb start-server。终端突然吐出来一长串设备ID!
好不容易连上真机,扫码功能又卡在权限申请那块。点允许按钮跟点石头似的,程序直接冻住了。
赶紧开logcat看日志,结果满屏都是什么"D/OpenGLRenderer: endAllActiveAnimators"这种废话。翻了二十多页,眼睛都看花了还没找到关键报错。
气得我当场把保温杯掼在桌上。后来死马当活马医,在过滤框里试了三个关键字:
原来targetSDK升到33之后,连摄像头权限都拆成俩了!这谁能想到?
解决权限又遇到新坑,扫码回调跟中彩票似的时灵时不灵。我在onActivityResult()打了断点,蹲了半小时才触发两次。烟灰缸都堆成小山了还没理清逻辑。
彻底暴躁,把整个扫码流程拆成五个步骤,每个步骤首尾都打日志:
果然发现第三步和第四步经常断链。在相机初始化代码里找到个隐蔽的try-catch,把异常吞得干干净净!气得我反手就给它补了三行堆栈打印。
折腾到凌晨三点总算搞定,现在看到安卓调试都有条件反射:
上周帮实习生看bug,看他手忙脚乱清缓存改Gradle的样子,活脱脱就是三个月前的我。呵呵,直接甩他个adb全局命令,三秒清干净所有设备缓存。
对了!那个折腾我六小时的扫码bug,解决方案是——把扫码库从3.5降到3.4.0。看文档更新记录才知道新版有个动态权限的骚操作,这找谁说理去?
(具体是哪个扫码库就不点名了,评论区肯定有人要骂)
admin@youweb.com
扫一扫,添加微信
Copyright © 2025 太原陇鼎网站建设公司 版权所有 Powered by EyouCms 备案号:吉ICP备2024014732号-1