# hpatchlite-lite-diff-gui **Repository Path**: yuxuan1001/hpatchlite-lite-diff-gui ## Basic Information - **Project Name**: hpatchlite-lite-diff-gui - **Description**: 关键词:MCU、差分升级、OTA、HPatchLite、HDiffPatch、TinyUZ - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-06-25 - **Last Updated**: 2026-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HPatchLite 差分文件生成器 基于 [HPatchLite](https://github.com/sisong/HPatchLite) 的 `hdiffi` 命令行工具,为 Windows 平台提供图形化差分文件生成界面。适合固件升级、嵌入式 OTA、资源包增量更新等场景,无需记忆命令行参数即可快速生成 patch 文件。 **Gitee 仓库:** https://gitee.com/yuxuan1001/hpatchlite-lite-diff-gui --- ## 功能特性 - **图形化操作**:选择旧文件、新文件与输出路径,一键生成差分文件 - **拖拽支持**:可将文件拖入路径输入框,或拖入主窗口自动填入 - **命令预览**:实时显示即将执行的 `hdiffi` 完整命令 - **多种压缩方案**:支持默认(不额外压缩)及 `tuz` 32 ~ 4096 多种级别 - **常用选项**: - `-f` 强制覆盖输出 - `-d` 仅生成 diff,不做 patch 校验 - `-cache` 启用大缓存匹配(适合新旧数据差异较大时加速) - `-inplace` 原地更新格式,可配置额外安全区大小 - **运行日志**:实时显示 `hdiffi` 输出,支持中途停止任务 - **配置记忆**:关闭程序后自动保存上次使用的路径与选项 - **护眼深色主题**:长时间使用更舒适 --- ## 快速开始 ### 方式一:直接运行(推荐) 仓库 `release/` 目录下已包含打包好的 **`app.exe`**,采用 PyInstaller 单文件打包,内置 `hdiffi.exe` 与 `hpatchi.exe`,**无需安装 Python,双击即可运行**。 1. 克隆或下载本仓库 2. 进入 `release/` 目录 3. 双击 **`app.exe`** ### 方式二:从源码运行 **环境要求:** - Windows 10 / 11 - Python 3.8+ - PyQt5 **步骤:** ```bash git clone https://gitee.com/yuxuan1001/hpatchlite-lite-diff-gui.git cd hpatchlite-lite-diff-gui pip install PyQt5 # 确保 hdiffi.exe 位于项目根目录 python app.py ``` --- ## 使用说明 1. **旧文件 / 旧目录**:选择升级前的原始文件 2. **新文件 / 新目录**:选择升级后的目标文件 3. **输出差分文件**:指定生成的 `.diff` 或 `.bin` 等 patch 文件路径 4. 按需选择压缩方案与高级选项 5. 点击 **「开始生成」**,在下方日志区查看进度 6. 完成后可点击 **「打开输出目录」** 快速定位结果文件 ### 命令行等价示例 界面最终会调用类似如下命令(具体参数取决于你的选项): ```text hdiffi.exe [选项] 旧文件 新文件 输出差分文件 ``` 例如,启用 `tuz 256` 压缩并强制覆盖: ```text hdiffi.exe -c-tuz-256 -f old.bin new.bin update.diff ``` --- ## 目录结构 ```text hpatchlite-lite-diff-gui/ ├── app.py # GUI 主程序源码(PyQt5) ├── app.spec # PyInstaller 打包配置 ├── hdiffi.exe # HPatchLite 差分工具(Windows) ├── hpatchi.exe # HPatchLite 补丁工具(hdiffi 校验时使用) ├── release/ │ └── app.exe # 已打包的可执行文件,双击运行 └── build/ # PyInstaller 构建中间产物 ``` --- ## 自行打包 安装 PyInstaller 后,在项目根目录执行: ```bash pip install pyinstaller PyQt5 pyinstaller app.spec ``` 生成的 `app.exe` 位于 `dist/` 目录。`app.spec` 中已配置将 `hdiffi.exe` 与 `hpatchi.exe` 一并打包。 --- ## 关于 HPatchLite [HPatchLite](https://github.com/sisong/HPatchLite) 是 [HDiffPatch](https://github.com/sisong/HDiffPatch) 的轻量版本,针对 MCU、NB-IoT 等资源受限嵌入式设备优化,支持极小内存下的 patch 应用。 | 工具 | 用途 | |------|------| | `hdiffi` | 根据旧文件与新文件 **生成** 差分(patch)文件 | | `hpatchi` | 在设备端 **应用** 差分文件,还原出新文件 | 本仓库仅提供 **差分生成** 的图形界面;设备端集成 patch 应用请参考 HPatchLite 官方文档与示例代码。 --- ## 常见问题 **Q:提示「未找到 hdiffi.exe」?** 将 `hdiffi.exe` 放到 `app.exe` 同级目录,或放到项目根目录后从源码运行。 **Q:是否支持 Linux / macOS?** 当前 GUI 面向 Windows 设计(依赖 `.exe` 及资源管理器打开目录)。Linux / macOS 用户可直接使用 HPatchLite 官方发布的 `hdiffi` 命令行工具。 **Q:生成的 patch 文件如何使用?** 将 patch 文件下发到目标设备,使用 HPatchLite 提供的 `hpatch_lite_patch` / `hpatchi_inplaceB` 等 API 或 `hpatchi` 工具完成升级。详见 [HPatchLite README](https://github.com/sisong/HPatchLite/blob/main/README.md)。 --- ## 致谢 - [sisong / HPatchLite](https://github.com/sisong/HPatchLite) — 底层差分与补丁算法及命令行工具 - [sisong / HDiffPatch](https://github.com/sisong/HDiffPatch) — 完整的二进制差分补丁库 --- ## 开源说明 本项目为 HPatchLite 生态的辅助 GUI 工具,源码开放供学习与二次开发。底层 `hdiffi.exe` / `hpatchi.exe` 来自 HPatchLite 官方发行版,其版权与许可遵循上游项目规定。 如有问题或建议,欢迎在 Gitee 提交 Issue。