直接回答
干净重装并不等于应用更新、清除应用数据、恢复云备份或换机迁移。每个文件的位置和类型都会影响卸载后的状态。Android 文档指出,应用专属文件会在卸载时删除,而 Auto Backup 默认可以包含许多应用数据,并根据系统版本和应用规则使用不同备份及设备迁移路径。因此,模型文件、用户对话、设置、临时下载、数据库、权限授权和派生缓存都需要独立的所有权与保留规则。没有写明所测存储位置和安装路径前,不要告诉用户“本地模型会留在手机上”。同样不能假设 Auto Backup 一定会恢复模型:备份范围受平台行为和应用规则影响,大型制品也可能不适合相应传输限制。Cove 源码记录 ModelManager 会维护模型状态并搜索配置存储位置;下载器会创建临时文件,并在配置摘要存在时执行可选校验。这些事实不能证明任何未指定发行版本在卸载、备份、设备迁移或恢复后会出现何种行为。必须测试实际应用配置和备份规则。至少分别覆盖四条路径:保留应用数据的原地更新;强制停止或进程重建;清除应用数据;卸载再安装,并将云备份与设备间传输作为独立分支。对每条路径记录模型是否存在、准确身份和摘要能否验证、权限或 URI 授权是否保留、用户创建的数据是否恢复,以及应用能否在离线状态完成一个代表性新任务。数据库里恢复了一条历史记录,不等于模型文件也恢复了。用户可能看见旧对话,但模型缺失;也可能文件还在,清单、运行时或完整性证据却没有。界面应分别表达:制品已安装并验证、模型需要重新获取、备份已恢复但运行时未就绪、用户数据已恢复、传输不可用,或首次设置仍未完成。如果重装后必须重新下载模型,应依据已验证的产品行为说明网络和空间要求,并给出清晰且不会破坏现有数据的获取路径。不能为修复模型存储而删除转写或对话。反过来,隐私规则也可能要求排除模型文件或敏感内容的云备份;需要配置和测试备份规则,不能凭假设。Android 12 及以后可以使用数据提取规则,云备份和设备间传输也可能采用不同包含行为。备份恢复测试不等于不恢复数据的干净重装,应分别执行。使用合成模型样例和不含敏感信息的记录。保存旧/新应用版本、安装或恢复路径、系统构建、备份设置、制品修订/长度/摘要状态、存储位置、恢复数据类型、网络状态、模型加载和任务结果。注入重下载中断、空间不足、网络拒绝、外部卷移除、临时字节损坏、旧数据库元数据和运行时初始化失败。确认重试不会重复排队,也不会覆盖唯一有效制品。面向用户的状态应准确:卸载前说明已知会随应用删除的资产;首次启动时说明备份恢复是否完成;模型缺失时提供用户选择的获取途径;重新获取后先验证最终文件再标就绪。未测试准确的备份或重装流程之前,不能声称模型持久保留或离线可用。结果应逐项报告生命周期路径,而不是压成“重装会保留数据”这样的通用承诺。本文是验证方法,不表示 Cove 应用已公开分发、会自动备份模型或能在卸载后保留任何指定记录。
用户旅行前重新安装一个离线 AI 应用
用户预期卸载再安装后,已下载模型、对话历史和语言设置都会恢复。平台可能启用了备份,但团队没有验证大型模型文件是否进入备份,也未确认恢复后的制品能否离线打开。
决策
分别测试应用更新、清数据、不恢复备份的卸载重装、云恢复和设备迁移;按数据类型分类,并在承诺就绪前校验模型。
预期结果
首次启动界面准确说明当前状态,保护用户内容,并在模型未恢复时提供明确的重新获取路径。
需要收集的证据
只有将以下证据与同一模型文件和测试运行关联起来,结论才可复核:
- 模型、历史和缓存的存储位置
- 各恢复路径的备份规则与实测结果
- 模型重新校验、加载和离线任务结果
收到完整字节流还不够;最终落盘、完整性、运行时加载和恢复路径也必须验证。
实施流程
- 按位置和所有者盘点数据. 列出模型、部分下载、数据库、历史、偏好设置、临时/缓存文件、URI 授权和导出文件,再映射到内部应用专属、外部应用专属或共享存储。
- 定义不同生命周期测试路径. 为应用更新、强制停止/进程重建、清除应用数据、不恢复备份的卸载重装、云备份恢复和设备间迁移分别准备样例,不能用一条路径代替另一条。
- 检查备份包含规则. 审核 Manifest 设置以及适配版本的云备份与设备迁移 XML 规则。核实实际恢复内容,不假定大型模型文件一定会被纳入。
- 恢复后验证制品身份与任务就绪. 检查模型修订、预期字节长度、摘要配置、卷是否可访问及运行时能否打开,再执行固定离线任务。历史恢复与模型就绪必须分开记录。
- 测试安全恢复和用户说明. 注入文件缺失、外部存储不可用、空间不足、重下载中断和运行时失败。保留用户数据,解释缺失项并提供不破坏内容的重试或重新获取选择。
让每个阶段的状态都可观察。失败信息应指出阶段、模型、运行时和恢复动作,同时避免记录用户私密内容。
验收标准
- 分别记录产品声明支持的应用更新、清除数据、不恢复备份的重装、云恢复和设备迁移路径。
- 每种数据都记录存储位置、备份/恢复结果、访问状态和删除所有者;数据库条目不能证明模型文件存在。
- 恢复或重新获取的模型通过身份、已配置完整性和运行时打开检查后,应用才报告就绪或离线可用。
- 缺失或损坏资产可修复,同时不会静默删除对话、转写、照片或导出内容。
决策对照表
| 维度 | 选择或证据 | 解读方式 |
|---|---|---|
| 原地应用更新 | 替换安装包并按 Android 更新行为保留应用数据 | 不能证明卸载重装或备份恢复行为相同。 |
| 清除应用数据或卸载 | 按存储位置与平台行为移除应用状态 | 需与应用更新分开测试;共享文件可能遵循不同规则。 |
| 云备份恢复 | 只恢复当前备份路径实际包含的数据 | 备份规则与传输限制很重要,不能假设大型模型文件会回来。 |
| 设备间传输 | 具有独立规则的恢复路径 | 可能与云备份不同,必须单独取得证据。 |
需要避免的失败模式
- 把应用更新等同于卸载重装
- 用历史记录恢复证明模型存在
- 模型缺失时删除用户内容
还要避免静默回退、版本未固定、缺少取消处理,以及把不同配置的结果混在一起下结论。失败运行也应与成功记录一并保存。
最小复现记录
| 层级 | 记录内容 |
|---|---|
| 设备 | 厂商、型号、芯片、内存档位、操作系统版本 |
| 软件 | 应用版本和 Git 提交号 |
| 模型 | 系列、变体、版本、格式、文件长度、摘要、量化方式 |
| 运行时 | 名称、版本、请求后端及实际后端证据 |
| 工作负载 | 样例版本、输入摘要、提示词摘要、输出策略 |
| 结果 | 完成、失败、取消、回退及保护隐私的诊断信息 |
发布检查表
- ☐ 主要搜索问题已回答,且没有未经支持的数字。
- ☐ 所有模型文件和运行时版本均已固定。
- ☐ 代表性任务和失败处理策略均有说明。
- ☐ 生命周期、取消、清理和回退均已测试。
- ☐ 用户内容与网络边界均有说明。
- ☐ 结论只适用于被记录的配置。
- ☐ 新增测试结果时链接到原始方法或证据。
来源与相关证据
- Android privacy and security
- Android Developers — 应用专属存储与卸载行为
- Android Developers — Auto Backup 规则
- Android Developers — 测试备份和恢复
- Cove ModelManager 与 downloader 状态事实
中文部署与排错专题见。奇连 AI 端侧专题。
常见问题
Android 会在重装后恢复下载的模型吗?
不能假定如此。检查应用的存储位置、备份清单和传输规则,并用准确模型实测卸载和恢复流程;恢复后还要重新核验制品身份和运行时加载。
应用更新和卸载重装是一回事吗?
不是。应用更新、清除应用数据、不恢复备份的卸载重装、云恢复和设备迁移是不同生命周期路径,必须分开测试。
对话历史恢复了,是否说明模型也就绪?
不能。数据库记录不能证明模型字节存在、修订匹配、完整性通过或运行时能够打开该文件;历史可恢复与本地推理可用必须分开检查。
模型缺失时应用该删除私人历史吗?
不应该。模型修复与用户数据删除是两种独立操作;应保留用户记录,并提供清楚且由用户控制的下载或恢复途径。