看到“备份成功”不等于拥有可恢复的备份。Root 工具能读取 /data/user 下的 App 私有文件,但签名、版本、用户 ID、Android Keystore、服务器 Token 与数据库一致性仍会决定恢复结果。本篇只用一个可丢弃的开源笔记 App 做闭环:备份 APK 与数据、复制到手机外、改变数据、恢复旧状态并撤销权限。
你会完成什么#
- 区分 APK、私有数据、外部数据、设备保护数据和 Keystore。
- 用 Neo Backup 的本地加密备份路径保存一个测试 App。
- 记录版本、包名、文件数量/大小与离机副本,不依赖单一手机存储。
- 创建“备份后变化”,再恢复到明确的时间点。
- 识别哪些登录态、支付凭据、DRM 和硬件密钥不能按普通文件搬家。
先看结论#
| 数据层 | 是否应在本篇备份 | 恢复预期 | 主要风险 |
|---|---|---|---|
| APK | 是 | 相同签名/版本可重装 | 降级、分包 APK 或签名不一致 |
| App 私有数据 | 是,仅测试 App | 笔记回到备份时间点 | 数据库未静止、权限/属主恢复错误 |
| 外部/媒体数据 | 测试 App 没有则不选 | 依工具和 Android 存储模型 | 体积大、重复备份、隐私泄露 |
| 设备保护数据 | 默认不选 | 跨系统/用户兼容性差 | 锁屏前状态与直接启动差异 |
| Android Keystore 密钥 | 不能假设可迁移 | 常需重新登录/重新注册 | 硬件绑定,文件在也可能无法解密 |
| 服务器 Token/账号状态 | 不作为成功标准 | 服务器可能吊销 | 恢复后风控、会话过期或账号锁定 |
心智模型#
可丢弃测试 App(先静止)
├─ APK + 版本/签名线索
└─ 私有数据 A1
↓ Root 只读采集
本地加密备份
├─ 文件数/大小/时间
└─ 离机副本 + SHA-256(若为单归档)
↓
把 App 改成 B2
↓
恢复备份 → 应回到 A1
↓
撤销 Root / 清理测试
真正的备份有三个证据:生成的副本存在且可读、至少有第二存放位置、恢复后的应用状态与备份时间点一致。校验和只能证明某个归档之后没有变化;加密保护内容;只有恢复演练能证明流程可用。
工具清单#
| 工具 | 本篇角色 | 优点 | 需要注意 |
|---|---|---|---|
| Neo Backup | 主线:单 App APK+数据本地备份/恢复 | 开源、可选择组件、支持密码加密 | 备份格式曾有代际兼容变化,保留工具版本记录 |
| DataBackup | 可替代的 Root 备份前端 | 支持多用户与多种 Root 方案 | 不与 Neo 的目录/任务混用;按官方文档配置 |
| Restoid | 进阶的 restic 快照路线 | 加密、去重、可选仓库 | 后端和保留策略更复杂,首次演练不启用远端 |
| Root 管理器 | 只给备份工具临时 Root | 能读取测试 App 私有目录 | 核对请求方,结束后撤销并查看日志 |
| Termux/电脑 SHA-256 | 对导出的单一归档生成摘要 | 能发现复制损坏或文件变化 | 不验证备份逻辑,不代替加密和恢复 |
| Android 自动备份 | 了解官方基线 | 由开发者规则/系统传输控制 | 与 Root 全量文件备份不是同一机制 |
项目全景:备份与文件管理的 16 个项目,一个不漏#
围绕“先定义要备份什么,再选择权限和目标仓库,最后做恢复演练”串起应用数据、安装包、聊天记录、分区、Wi-Fi 凭据和 ADB 无 Root 方案;可疑镜像与无限云空间模块不作为推荐。
| 技术路线 | 项目数 | 处理等级 | 在主题任务中的位置 |
|---|---|---|---|
| Root 应用数据与增量仓库 | 4 | 候选路线 | 比较 DataBackup、restic 前端、S3/WebDAV/SMB 仓库和版本保留,重点讲冻结应用、一致性、加密密钥、去重和抽样恢复。 |
| APK/分包归档与安装管理 | 3 | 候选路线 | 用 APK extractor 与 VInstall 家族区分只备份安装包、分包集合和私有数据;恢复前校验签名与版本,不把 APK 归档称为完整备份。 |
| 微信、WhatsApp 与 QQ 数据导出 | 3 | 候选路线 | 逐项讲清聊天导出依赖的版本、ADB 备份遗留接口或 root 私有目录,先在副本上验证并保护数据库与密钥;不承诺跨版本完整恢复。 |
| 分区镜像与 Wi-Fi 凭据 | 2 | 候选路线 | 把分区镜像与 Wi-Fi 配置视为高敏感备份:核对块设备、空间和校验和,凭据文件加密保存;不同机型的分区镜像不能互刷。 |
| ADB 与无 Root 备份的能力上限 | 2 | 候选路线 | 对 open-android-backup、ADB_Backup 等说明 Android 版本差异、应用是否允许备份、加密压缩和恢复验收,明确现代 Android 上不能读取所有私有数据。 |
| 镜像仓库、破解卖点与未验证方案 | 2 | 边界复核 | 覆盖剩余项目,特别将 modded HttpCanary 备份仓库和“无限云空间”模块标为供应链/账号风险;仅描述其宣称用途、验证缺口与安全替代,不给安装推荐。 |
1. Root 应用数据与增量仓库 · 4#
比较 DataBackup、restic 前端、S3/WebDAV/SMB 仓库和版本保留,重点讲冻结应用、一致性、加密密钥、去重和抽样恢复。
本组共 4 项:3 个源项目、1 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| XayahSuSuSu/Android-DataBackup | 主题用途:将 XayahSuSuSu/Android-DataBackup 纳入「Root 应用数据与增量仓库」候选路线,根据 android · backup · compose · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):DataBackup for Android 7.0+ | 未归档源项目 · ★ 7065 · GPL-3.0 · 2026-07-18。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
| hddq/restoid | 主题用途:将 hddq/restoid 纳入「Root 应用数据与增量仓库」候选路线,根据 android · android-application · backup · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):root-based Android app backup tool powered by restic | 未归档源项目 · ★ 141 · GPL-3.0 · 2026-07-19。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
| 543069760/Android-DataBackup-S3 | 主题用途:将 543069760/Android-DataBackup-S3 纳入「Root 应用数据与增量仓库」候选路线,根据 android · aws · backup · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):免费开源的 Android 数据备份工具,支持多版本备份、云存储(S3/FTP/SFTP/WebDAV/SMB) | 未归档 Fork · ★ 30 · GPL-3.0 · 2026-07-05。Fork:采用前先与上游比较提交、Release 和维护者说明。 |
| sakuradairong/android-backup-gui | 主题用途:将 sakuradairong/android-backup-gui 纳入「Root 应用数据与增量仓库」候选路线,根据 android · android-backup · backup · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):Android 应用备份与恢复工具 · restic 增量去重 · WebDAV/SMB 远程仓库 · 断点续传 · 并行备份/恢复 · Root Shell | 未归档源项目 · ★ 5 · GPL-3.0 · 2026-06-28。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
2. APK/分包归档与安装管理 · 3#
用 APK extractor 与 VInstall 家族区分只备份安装包、分包集合和私有数据;恢复前校验签名与版本,不把 APK 归档称为完整备份。
本组共 3 项:3 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| vinstall/VInstall | 主题用途:将 vinstall/VInstall 纳入「APK/分包归档与安装管理」候选路线,根据 android · android-app · apk · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):Android package installer supporting APK, XAPK, APKS, APKM, and the custom APKV encrypted format — with built-in app manager, backup, and silent install via root or Shizuku. | 未归档源项目 · ★ 60 · GPL-3.0 · 2026-07-07。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
| Curzyori/ex-apk | 主题用途:将 Curzyori/ex-apk 纳入「APK/分包归档与安装管理」候选路线,根据 andorid · apk · backupper · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):APK Extractor & Backupper Utility for Android. No root access required. Extract, share, and backup installed apps. Works completely offline — zero network permissions, no ads, no tracking. Clean Material 3 UI. Supports English, Indonesian, Chinese (简体), Japanese (日本語). | 未归档源项目 · ★ 7 · Apache-2.0 · 2026-07-11。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
| khanCorporation/VInstall | 主题用途:将 khanCorporation/VInstall 纳入「APK/分包归档与安装管理」候选路线,根据 android · apk · apkv · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):Install APK, XAPK, APKS, APKM, APKV, and ZIP files on Android with app manager, backup, and uninstaller support | 未归档源项目 · ★ 5 · GPL-3.0 · 2026-07-19。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
3. 微信、WhatsApp 与 QQ 数据导出 · 3#
逐项讲清聊天导出依赖的版本、ADB 备份遗留接口或 root 私有目录,先在副本上验证并保护数据库与密钥;不承诺跨版本完整恢复。
本组共 3 项:3 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| YuvrajRaghuvanshiS/WhatsApp-Key-Database-Extractor | 主题用途:将 YuvrajRaghuvanshiS/WhatsApp-Key-Database-Extractor 纳入「微信、WhatsApp 与 QQ 数据导出」候选路线,根据 adb · adb-backup · android · Python 核对功能、平台与版本适配。 上游自述(保留原文):The most advanced and complete solution for extracting WhatsApp key/DB from package directory (/data/data/com.whatsapp) without root access. | 未归档源项目 · ★ 557 · MIT · 2023-08-28。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
| DarkLineX/WechatBackupNoRoot | 主题用途:将 DarkLineX/WechatBackupNoRoot 纳入「微信、WhatsApp 与 QQ 数据导出」候选路线,根据 Java 核对功能、平台与版本适配。 上游自述(保留原文):免ROOT微信聊天数据备份/导出工具。支持 安卓微信8.x | 未归档源项目 · ★ 106 · GPL-3.0 · 2024-03-09。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
| zsqw123/QQ-Exp-Android | 主题用途:将 zsqw123/QQ-Exp-Android 纳入「微信、WhatsApp 与 QQ 数据导出」候选路线,根据 android · qq · root · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):OpenSource Exporter for Android QQ Chat History | 未归档源项目 · ★ 105 · GPL-3.0 · 2021-03-25。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。 |
4. 分区镜像与 Wi-Fi 凭据 · 2#
把分区镜像与 Wi-Fi 配置视为高敏感备份:核对块设备、空间和校验和,凭据文件加密保存;不同机型的分区镜像不能互刷。
本组共 2 项:2 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| auag0/WifiNinja | 主题用途:将 auag0/WifiNinja 纳入「分区镜像与 Wi-Fi 凭据」候选路线,根据 android · compose · kotlin · Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):A powerful WiFi management tool for rooted Android devices. Extract passwords, share credentials via QR code, backup/restore networks, and more. Built with Kotlin and Jetpack Compose. Compatible with Android 5.0-15. Root access required. | 未归档源项目 · ★ 11 · GPL-3.0 · 2025-04-12。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。 |
| flandolf/backup_partitions | 主题用途:将 flandolf/backup_partitions 纳入「分区镜像与 Wi-Fi 凭据」候选路线,根据 android · backup · partitions · Dart 核对功能、平台与版本适配。 上游自述(保留原文):Backup android partitions! | 未归档源项目 · ★ 10 · 协议未声明 · 2024-04-28。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
5. ADB 与无 Root 备份的能力上限 · 2#
对 open-android-backup、ADB_Backup 等说明 Android 版本差异、应用是否允许备份、加密压缩和恢复验收,明确现代 Android 上不能读取所有私有数据。
本组共 2 项:2 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| mrrfv/open-android-backup | 主题用途:将 mrrfv/open-android-backup 纳入「ADB 与无 Root 备份的能力上限」候选路线,根据 adb · android · android-app · CSS 核对功能、平台与版本适配。 上游自述(保留原文):Back up your device without vendor lock-ins, using insecure software or root. Supports encryption and compression out of the box. Works cross-platform. | 未归档源项目 · ★ 1345 · GPL-3.0 · 2026-04-24。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
| vaginessa/ADB_Backup | 主题用途:将 vaginessa/ADB_Backup 纳入「ADB 与无 Root 备份的能力上限」候选路线,根据 仓库名、README 与发布记录 核对功能、平台与版本适配。 上游自述(保留原文):Backup android app, data included, no root needed, with ADB | 未归档源项目 · ★ 4 · 协议未声明 · 2023-12-03。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
6. 镜像仓库、破解卖点与未验证方案 · 2#
覆盖剩余项目,特别将 modded HttpCanary 备份仓库和“无限云空间”模块标为供应链/账号风险;仅描述其宣称用途、验证缺口与安全替代,不给安装推荐。
本组共 2 项:2 个源项目、0 个 Fork,其中 0 项已归档。它们的平台、用途或分类存在边界,只作逐项核验,不当作默认安装候选。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| VehanRajintha/Free-Unlimited-Google-Cloud-Backup-Magisk-Module | 主题用途:将 VehanRajintha/Free-Unlimited-Google-Cloud-Backup-Magisk-Module 作为「镜像仓库、破解卖点与未验证方案」边界条目,通过 cloud · cloud-backup · cloud-computing 核对它实际是否属于本教程。 上游自述(保留原文):This is a Magisk module and from this you can get Unlimited Google Cloud Storage to backup Photos and Videos on your device. | 未归档源项目 · ★ 373 · 协议未声明 · 2025-02-19。边界条目:先核对实际平台、用途和分类理由,不作为默认安装源。 |
| DeV1LN1H4d/HttpCanary-without-root | 主题用途:将 DeV1LN1H4d/HttpCanary-without-root 作为「镜像仓库、破解卖点与未验证方案」边界条目,通过 仓库名、README 与发布记录 核对它实际是否属于本教程。 上游自述(保留原文):This is just a backup repo for me to install http Canary in Android 12 , i don't need to search the internet for this modded application | 未归档源项目 · ★ 7 · 协议未声明 · 2023-02-17。边界条目:先核对实际平台、用途和分类理由,不作为默认安装源。 |
开始前#
使用稳定开机、存储健康且 Root 管理器能记录授权的测试设备。选择一个你自己安装的开源笔记 App:无账号、无同步、无附件、无重要内容,卸载也没有损失。不要以银行、身份验证器、密码管理器、聊天、工作资料、付费 DRM 或系统 App 作为首个恢复对象。
从 Neo Backup 上游发行页或其指向的可信渠道安装,记录版本。准备至少是预计备份两倍的空间,以及一个不在手机内部存储的目的地,例如加密电脑目录或加密 USB 存储。为备份设置独立强密码并存入密码管理器;丢失密码就应视为备份不可恢复。
操作步骤#
1. 创建可判定的测试状态#
在测试笔记 App 中创建一条标题为 BACKUP-A1 的笔记,正文写当前日期与随机四位数。完全退出后重新打开,确认 A1 可读。记录包名、应用版本、Android 版本、当前用户编号和数据大小;这些是恢复的兼容基线。
若 App 支持自身导出,可额外导出 A1 作为救援副本,但不要把“应用导出”与 Root 备份混为一谈。随后强行停止测试 App,避免数据库正在写入。
2. 配置单 App 本地加密备份#
打开 Neo Backup,仅在 Root 管理器弹窗中给这一个已核对来源的工具临时授权。设置一个新的本地备份目录,启用密码加密并把密码独立保存。不要启用云同步、计划任务或“所有应用”列表。
搜索并按包名选中测试 App。选择 APK 与 App 私有数据;测试 App 没有附件时不选外部/媒体/OBB,也不选设备保护数据。界面名称随版本略有变化,以“单个用户 App、APK、内部数据”为目标。
3. 执行备份并制作第二副本#
开始任务,保持屏幕唤醒并等待成功状态。记录备份时间、Neo Backup 版本、文件数量和总大小;打开任务详情确认 APK 与数据两部分都完成,而不是只保存 APK。
把整个备份目录或工具导出的单一归档复制到离机目的地。若得到单一归档,在 Termux 或电脑运行 SHA-256 并将摘要与包名/时间写在独立清单;若是多文件目录,则记录目录文件数、总大小,并用可靠复制工具的校验功能。不要在确认第二副本前删除手机内原件。
4. 制造变化并恢复时间点#
重新打开测试 App,把 A1 正文改为 AFTER-B2,并新增一条 B2 笔记。再次退出重开,确认新状态确实写入。然后强行停止 App,回到 Neo Backup,只选择刚才同一个备份快照和同一个包。
核对备份中的版本/签名与已安装版本。仅在无降级/签名警告时恢复 APK 与私有数据;如果 APK 已相同,可按工具说明只恢复数据。拒绝任何扩大为系统 App 或其他包的选择,等待恢复完成后再启动 App。
5. 验证恢复并撤销权限#
打开测试 App。成功结果是 A1 恢复为备份时正文,而 AFTER-B2 与新增 B2 消失。退出再打开一次,并重启设备后再检查一次,排除只恢复了缓存界面的假象。记录结果与恢复耗时。
如果恢复失败,不对真实 App 重试:保留日志和备份副本,卸载这个可丢弃测试 App即可回滚实验。完成后在 Root 管理器撤销 Neo Backup 权限,关闭它的计划/后台任务;第二副本仍应加密保存,确认不需要时再从两个明确位置分别删除。
验证#
| 检查项 | 成功标准 | 失败信号 |
|---|---|---|
| 备份范围 | 只有测试包,含 APK 与私有数据 | 任务变成批量/系统 App 或只有 APK |
| 备份证据 | 有时间、工具版本、文件数/大小记录 | 仅凭“完成”弹窗,没有可定位文件 |
| 第二副本 | 手机外存在完整副本,单归档有 SHA-256 | 两份都在同一存储芯片或公共云明文 |
| 时间点恢复 | A1 回来,B2 消失 | 仍是 B2、空白数据或无法启动 |
| 持久验证 | 重开与重启后结果一致 | 只在缓存页面短暂显示旧内容 |
| 权限回收 | 备份工具 Root 已撤销、无后台计划 | 永久 Root/远端同步仍开启 |
排错#
| 现象 | 常见原因 | 安全处理 |
|---|---|---|
| 只恢复了 APK,数据没回来 | 备份时未勾私有数据、Root 失败或选错用户 | 不在真实 App 上试;检查任务详情、Root 日志和用户编号 |
| 恢复后闪退 | 版本/签名/数据库架构不兼容或属主上下文异常 | 保存日志,停止反复覆盖;卸载测试 App并查工具 FAQ |
| 登录态/加密内容失效 | Keystore 硬件绑定或服务器 Token 已吊销 | 重新登录/注册;不要把它当文件备份故障强行复制密钥 |
| 归档摘要不一致 | 复制损坏、文件被再次写入或比对错快照 | 保留两份,重新复制并记录新摘要;不删除唯一可读副本 |
| 忘记加密密码 | 密码没有独立保存 | 视为不可恢复;不要上传归档求“破解”,重新建立新备份 |
| 工具升级后不识别旧备份 | 备份格式代际变化 | 保留旧工具版本/发行说明和原备份,按官方迁移路径处理 |
完成清单#
- 我只用无账号、可丢弃的用户 App 做首次恢复演练。
- 我记录了包名、版本、用户、工具版本和备份时间。
- 备份包含 APK 与私有数据,并使用独立保存的密码加密。
- 我有一份手机外副本和可核对的文件数/大小或 SHA-256。
- A1 成功恢复,B2 消失,重开与重启后仍一致。
- 我撤销了备份工具的 Root,并知道 Keystore/Token 不保证迁移。