外观
应用升级为什么通常能保留数据 什么情况下会失败?
标准回答
升级会替换或更新代码包,并在满足身份与兼容规则时沿用原有应用数据。关键条件包括包名一致、签名匹配或符合系统认可的签名轮换规则,以及版本和包结构满足安装策略;随意更换签名通常无法直接覆盖安装。即使系统保留了数据,应用也必须正确迁移自己的数据库和持久化格式,否则仍可能启动失败。卸载、重新安装、回滚和多用户场景要分别分析,不能默认行为相同。
延伸追问
版本降级是否允许受调试状态、安装标志和平台策略等限制;系统应用更新还涉及只读系统分区与数据分区中的更新包。
内容来源
- Android Framework 知识手册 · 原条目
6-2