记一个由于 Package Installer 中 Flag 缺失导致更新应用时闪退的 Issue 及其解决办法

查看 29|回复 0
作者:lelenext   

- 前言
如果你只通过 Google Play Store 渠道或是只手动通过安装包更新应用,那么这个问题你大概率不会触发到,你只会在某些特定条件下使用 Google 原生 Package Installer「套件安装程式」更新应用时遇到。
- 触发条件
一台能正常使用 Google Play Store 的设备;
Google Package Installer (com.google.android.packageinstaller) 版本为 14-10347885 及以下
- 触发设备
小米 12 Lite,Hyper OS1.0.10.0.ULIEUXM,EEA 版,Android 14。
本文只讨论在 Android 14 的触发,其他系统并未做测试。
- 触发过程
从 Google Play Store 安装「Xiaomi Community」,截止本文发布前 Play 商店最新版为 5.3.34 (500334)
该应用前日更新了 5.3.35 (50035) 版本,但 Play 商店方面还在审核更新。于是我像往常一样从其他渠道下载了该版进行手动更新,但在安装时安装界面突然消失了。
重复触发多次后,弹出崩溃窗口。
查看日志摘要
通过日志分析,很容易看到导致崩溃的原因是 InstallEventReceiver 在启动 Activity 时没有设置 FLAG_ACTIVITY_NEW_TASK 标志。
- 解决方法
很明显,该版本的 Package Installer 是有缺陷的,所以解决方法也很简单,通过其他渠道升级该应用,Google 在新版本中已经修复。
手动更新后,安装应用弹出该窗口。
P.S. 另经测试,部分应用无法触发上述窗口,故可正常更新。目前测试出可弹出该窗口的应用有 WeCom「企业微信」和 Xiaomi Community。
- 总结
1. 在 Google Play Store 安装一个应用;
2. 手动通过其他渠道安装该应用,触发闪退;
3. 更新 Package Installer 后,正常弹出窗口,安装过程恢复。
- 吐槽
但是但是但是,在小米 12 Lite 这台设备上,Play Store、Play 系统更新、小米更新均未推送新版的 Package Installer,所以 em… 不知道该怎么评价()
正文结束。
头图来自 X,仅作使用。





弹出, 小米, 渠道

您需要登录后才可以回帖 登录 | 立即注册

返回顶部