Skip to content

About

基于 ADB 的 Android 设备文件同步工具

Resources

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

ADB 同步器 (ADB Syncer)

License: MIT Python 3.9+

ADB 同步器是一个基于 Python + PyQt6 的图形化工具,通过 ADB 连接 Android 设备,管理多个文件夹同步任务(Pipeline)。专为需要频繁同步文件(如照片、文档)的开发者和高级用户设计,支持自动同步功能。

如果你也是一个爱偷懒的用户,经常搬运一些固定文件,在 PC 和 Android 设备之间,不妨尝试下本软件,只需要插上 USB,等待若干秒,然后直接拔出。不需要点击鼠标,更无需关注屏幕,同步自然到位

✨ 功能特点

  • 多任务管理:创建、编辑、删除多个同步 Pipeline,配置持久化。
  • 灵活同步:支持单向(本地→设备、设备→本地)和双向同步。
  • 智能过滤:按文件扩展名、修改时间(最近 N 天)过滤文件。
  • 插件系统:通过 Python 脚本扩展功能,例如动态日期路径、自定义冲突处理。
  • 自动同步:设备连接时自动触发指定 Pipeline(可配置间隔)。
  • 安全可靠:所有 ADB 命令异步执行,界面不卡顿;批量创建远程目录,避免重复命令。

📥 下载

从 Releases 页面下载最新版本的 Windows 可执行文件。

注意:本工具依赖 ADB。请确保已安装 ADB 并将其添加到系统 PATH,或将 adb.exe 与程序放在同一目录。

🚀 快速开始

  1. 连接 Android 设备并开启 USB 调试。
  2. 运行 main.py 或 adb_syncer.exe。
  3. 点击“+ 新建 Pipeline”,填写:
    • 名称:任务标识。
    • 本地路径:电脑上的文件夹。
    • 设备路径:Android 设备上的文件夹(建议以 /sdcard/ 开头)。
    • 设备序列号:可选,留空则使用当前连接的设备。
    • 其他选项按需设置(扩展名过滤、同步方向、同步天数等)。
  4. 点击卡片上的“同步”按钮开始同步。

软件说明 (目前版本:0.0.4)

0.0.2:
  • 新建 Pipeline 后,会在同目录下,生成 config.json 文件(用于保存配置)

  • 检测设备的间隔是 5s;自动同步(auto sync) 的冷却时间是 30分钟

  • 支持 多pipeline 自动同步(考虑到adb的稳定性,内部序列执行,耗时 depend on 文件数量)

0.0.3:
  • 增加 托盘功能,点 "x" 会缩小到托盘,双击托盘图标 恢复窗口,(note: 退出 只能通过托盘菜单)

  • 增加 "同步完成 显示通知" 功能选项, 设置后 每次同步完成 会调用 windows 通知,(托盘右键菜单设置)

  • adb 功能改变,应对 mime intent 激活问题,每次adb同步完,暂时调用 MEDIA_SCANNER_SCAN_FILE (SDK 29 deprecated 目前还有效),待未来优化

0.0.4:
  • 测试 插件功能,,目前支持 时间间隔(设置方法 ,打开编辑设置 -> 插件: date_interval -> 填入插件配置(json格式) 仅支持 device 的文件夹修改,因手机端更不容易 浏览长文件列表,其他需求 待后续扩展
json 插件配置(参考)
monthly_posts : 每月固定的桩日(如1号、10号、20号),按日期自动切换 目标同步文件夹(方便 分散到不同文件夹)
{
  "rule_type": "monthly_posts",
  "post_days": [1, 10, 20],
  "base_path": "" 
  "folder_format": "{year}-{month:02d}-{post_day:02d}"
}

🔌 插件开发(开发中)

  1. 在 plugins 文件夹中创建 .py 文件。
  2. 继承 plugins.base_plugin.BasePlugin 并实现需要的钩子方法。
  3. 在 Pipeline 配置中选择该插件并提供 JSON 格式的配置参数。

内置插件示例:date_interval 可根据间隔天数自动切换日期子目录。

🛠️ 自行构建

需要 Python 3.9+ 和 PyQt6:

pip install pyqt6 pyinstaller
pyinstaller --onefile --noconsole --name adb_syncer --add-data "res/icons;res/icons"  --hidden-import PyQt6.sip main.py

ADB 配置

下载渠道

下载解压后,可以把 adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll 这三个复制到 本软件同目录;或者 将整个工具包文件夹的路径,写入系统路径 PATH


界面

设置界面

About

基于 ADB 的 Android 设备文件同步工具

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages