DataBackup 恢复过程中会发生什么:解包、安装、写回目录
恢复的几个阶段
对每个应用,恢复流程大致是:
- 强制停止目标应用:防止应用在运行时写入数据导致冲突
- 解压 app.tar.zst:取出 APK 文件
- 安装 APK(完整恢复模式):通过 pm install 安装
- 解压 data.tar.zst:恢复数据目录到正确位置
- 设置目录权限:确保应用能正常读写自己的目录
为什么要先停应用
和备份时同理——应用运行中可能在读写数据目录,这时候覆盖进去容易出问题。恢复完成后 DataBackup 会恢复应用状态。
可能看到的提示
「正在解包」
正常,zstd 解压速度很快。
「权限恢复失败」
极其罕见。DataBackup 在写入数据目录后需要用 chmod 把所有者设回对应应用的 UID。如果这步失败(极少数权限异常的应用),应用可能打不开。解决方式一般是卸载重装应用再跑一次仅数据恢复。
「应用已存在」
完整恢复模式下如果目标设备上已经装了同名应用,DataBackup 会提示冲突。建议卸载已有应用再恢复,或者改用「仅恢复数据」模式。
「签名不匹配」
这是最常见的恢复失败原因之一。如果你在新 ROM 上从应用商店装了同一个应用再想完整恢复,备份里的 APK 签名和商店版不一样——Android 不允许同包名但不同签名的应用存在。解决方式:用「仅恢复数据」模式,或者卸载应用后再完整恢复。
恢复速度
恢复速度和备份速度差不多,zstd 解压很快。总耗时略少于备份,因为恢复时不需要先强制停止应用那么久。
跑完别急
恢复完成后 DataBackup 会给一个清单,和备份时类似。逐个打开关键应用验证数据是否在,别急着把备份目录删了。