Open Android Backup:安卓数据备份工具
基于 ADB 的安卓备份脚本与配套 App,支持加密压缩、自动恢复,可在 Windows、macOS、Linux 上使用。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v1.2.3
- 平台
- Windows、Linux
详细介绍
项目简介
Open Android Backup(原名 Linux Android Backup)是一个小型 shell 脚本加 Flutter 配套 App,用于安全地备份 Android 设备。它基于 ADB 实现,但不使用已废弃的 adb backup 命令,不依赖厂商锁定,也不需要使用闭源软件。项目支持 Windows、macOS 和 Linux 三大平台,并兼容各类现代 Android 设备。

主要功能
- 自动恢复已备份的数据。
- 支持三大操作系统,兼容任何现代 Android 设备。
- 支持无线备份,备份过程中可以正常使用手机。
- 通过原生配套 App 备份通常无法通过 ADB 访问的数据。
- 体积小巧,整个包约 20 MB。
- 不使用私有格式,即使脚本无法运行,也可以用 7-Zip 打开生成的归档文件。
- 备份内容连同元数据一起加密。
- 可选地安全擦除脚本产生的未加密临时文件。
- 所有数据使用 7-Zip 压缩,压缩级别可配置。
备份内容
可恢复的数据:
- 应用(由于系统限制,不含应用数据)
- 内部存储(图片、下载、视频、已开启的 Signal 备份等)
- 联系人(导出为 vCard 格式)
仅可查看的数据(需用 7-Zip 打开备份归档,暂不支持恢复到设备):
- 短信(导出为 CSV 格式,不保存 MMS 附件)
- 通话记录(导出为文本文件)
安装与使用
Linux
安装依赖(Debian / Ubuntu):
sudo apt update; sudo apt install p7zip-full adb curl whiptail pv bc secure-delete zenity
Fedora 需先启用 RPM Sphere 仓库(https://rpmsphere.github.io/),然后执行:
sudo dnf install p7zip p7zip-plugins adb curl newt pv secure-delete
下载 Releases 中的 Open Android Backup 整合包(脚本与配套 App 在同一包内),在设备上开启开发者选项和 USB 调试,然后在终端运行 backup.sh。
Nix / NixOS 用户可以使用 flake 获得包含全部依赖的环境:
nix develop
./backup.sh
macOS
macOS 自带的 bash 版本过旧,需使用 /opt/homebrew/bin/bash。先用 Homebrew 安装依赖:
brew install --cask android-platform-tools
brew install p7zip pv bash dialog coreutils
之后按照 Linux 的第 2、3 步操作。macOS 测试有限,遇到问题可以反馈。
Windows
- 安装 Windows Subsystem for Linux(WSL),只需完成其中的
Install步骤。 - 下载 Open Android Backup 整合包并解压。
- 在文件资源管理器中右键
backup-windows.ps1,选择「使用 PowerShell 运行」。若报错,可在设置中搜索「开发者设置」并应用与 PowerShell 相关的选项,同时检查文件属性中的「解除锁定」。
运行
- Linux:
backup.sh - Windows:右键运行
backup-windows.ps1 - macOS:
/opt/homebrew/bin/bash ./backup.sh
脚本会以交互方式引导完成整个过程。
自动化 / 无人值守备份
脚本提供环境变量来控制无交互运行,例如:
# 开启无人值守模式,通过有线连接备份到当前目录,密码为 123
unattended_mode="yes" selected_action="Backup" mode="Wired" export_method="tar" archive_path="." archive_password="123" ./backup.sh
# 保持交互模式,但自动使用密码 456
archive_password="456" ./backup.sh
可用的变量包括 unattended_mode、selected_action(Backup / Restore)、archive_path、archive_password、mode(Wired / Wireless)、export_method(tar / adb)、use_hooks、data_erase_choice、discouraged_disable_archive、compression_level(0/1/3/5/7/9),以及 restore_apps、restore_storage、restore_contacts、backup_apps、backup_storage、backup_contacts。
导出联系人仍需要物理接触设备,因为配套 App 尚未实现无人值守模式;项目对自动化的支持也很有限。
注意事项
master分支用于开发,下载请前往 Releases 或选择对应的 tag。- hooks 功能允许在不修改主脚本的情况下加入自定义备份步骤:把 hook 重命名为
hooks.sh放在脚本同目录,并在脚本询问时允许使用。 - 使用不信任的 hook 存在安全风险,hook 对你的手机和电脑拥有与 Open Android Backup 相同的权限,运行前务必检查其内容。脚本不会自动加载 hook。
- 配套 App 已预编译并在运行时自动从 GitHub Releases 下载,普通用户无需自行构建;如需构建,可安装 Flutter 与 Android Studio 后执行
cd companion_app/和flutter build apk。 - 项目基于 ADB,需要开启开发者选项和 USB 调试。
本作品整理自 GitHub 开源项目 mrrfv/open-android-backup,原作者 @mrrfv,许可证 GPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.2.3当前版本
以 user 0 运行 adb 获取应用列表,新增对 Nix flake 的支持,带来若干体验优化,并升级网站依赖。
评论