HarmonyDevTools/readme.md

203 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# HarmonyDevTools - Python版本
![](https://img.shields.io/badge/状态-稳定-red.svg)
![](https://img.shields.io/badge/启动时间-2024/06/20-green.svg)
![](https://img.shields.io/badge/优先级-NORMAL-blue.svg)
![](https://img.shields.io/badge/语言-Python-blue.svg)
本项目为HarmonyOS/OpenHarmony的 toolchains 工具提供Python Tkinter UI操作界面方便使用。
## 1. 版本说明
这是原C# WPF项目的Python Tkinter版本保持了相同的功能特性
hdc功能支持:
- 枚举设备/连接设备
- 重启hdc
- 版本信息显示
- 安装、卸载应用
- 导出照片
- 获取手机的UDID
- 其他命令的执行(手动输入执行)
## 2. 环境要求
- Python 3.7+
- Windows操作系统
- HarmonyOS/OpenHarmony SDK包含toolchains目录
## 3. 安装和运行
### 3.1 直接运行
1. 确保已安装Python 3.7或更高版本
2. 下载项目文件
3. 确保`toolchains`目录包含`hdc.exe`文件
4. 运行主程序:
**方式一:使用启动脚本(推荐)**
```bash
run.bat
```
**方式二直接运行Python文件**
```bash
python main.py
```
### 3.2 安装依赖(可选)
如果需要额外的功能,可以安装可选依赖:
```bash
pip install -r requirements.txt
```
## 4. 打包为exe文件
### 4.1 使用项目自带的构建脚本(推荐)
```bash
# 运行构建脚本
python build.py
```
构建脚本会:
- 自动检查PyInstaller是否安装
- 自动清理之前的构建文件
- 构建HarmonyDevTools_v版本号.exe包含版本信息
- 自动创建完整的发布包
- 生成说明文档
- 构建完成后自动清理临时文件
### 4.2 使用PyInstaller手动打包
```bash
# 安装PyInstaller
pip install pyinstaller
# 打包为exe文件
pyinstaller --onefile --windowed --name HarmonyDevTools_v版本号 main.py
```
### 4.3 版本管理
```bash
# 更新版本号
python update_version.py
# 查看当前版本
# 运行 update_version.py 会显示当前版本
```
**版本号格式**: x.y.z (例如: 1.4.0)
- 文件名格式: HarmonyDevTools_v1_4_0.exe
- 程序内显示: 1.4.0(构建时通过命令行参数传递)
- 版本号来源: version_info.txtmain.py中的VERSION变量用于开发调试
### 4.4 使用auto-py-to-exeGUI工具
```bash
# 安装auto-py-to-exe
pip install auto-py-to-exe
# 启动GUI打包工具
auto-py-to-exe
```
## 5. 项目结构
```
HarmonyDevTools_Python/
├── main.py # 主程序文件
├── build.py # 构建脚本
├── version_info.txt # 版本信息文件
├── update_version.py # 版本更新脚本
├── requirements.txt # Python依赖文件
├── README_Python.md # 说明文档
├── toolchains/ # 工具链目录
│ ├── hdc.exe # HDC工具
│ └── libusb_shared.dll
└── build/ # 打包输出目录(可选)
```
## 6. 功能说明
### 6.1 设备管理
- **列举设备**: 显示所有可用的HarmonyOS设备
- **连接设备**: 通过connect key连接指定设备
- **重启hdc**: 重启HDC服务
### 6.2 应用管理
- **安装hap**: 安装HarmonyOS应用包
- 替换安装: 覆盖已存在的应用
- 允许降级: 允许安装较低版本
- 动态授权: 动态授权安装
- **卸载应用**: 根据包名卸载应用
### 6.3 文件操作
- **导出照片**: 从设备导出照片到本地
- **自定义命令**: 执行任意hdc命令
### 6.4 系统信息
- **版本信息**: 显示HDC版本信息
- **UDID**: 获取设备唯一标识符
## 7. 与原C#版本的对比
| 特性 | C# WPF版本 | Python Tkinter版本 |
|------|------------|-------------------|
| 运行环境 | .NET Core 6.0 | Python 3.7+ |
| UI框架 | WPF | Tkinter |
| 打包大小 | 较大 | 较小 |
| 跨平台 | Windows | Windows/Linux/macOS |
| 开发难度 | 中等 | 简单 |
| 维护成本 | 中等 | 低 |
## 8. 故障排除
### 8.1 常见问题
1. **找不到hdc.exe**
- 确保`toolchains`目录存在且包含`hdc.exe`
- 检查文件路径是否正确
2. **Python未安装**
- 从[Python官网](https://www.python.org/downloads/)下载并安装Python
3. **tkinter模块错误**
- 大多数Python安装都包含tkinter
- 如果缺失请重新安装Python并确保选中tkinter选项
### 8.2 日志查看
程序运行时会输出日志信息,可以通过查看控制台输出来诊断问题。
## 9. 开发说明
### 9.1 代码结构
- `HdcUtil`: HDC工具类负责执行命令
- `HarmonyDevTools`: 主界面类负责UI交互
- `main()`: 程序入口函数
### 9.2 扩展功能
如需添加新功能,可以:
1. 在`HdcUtil`类中添加新的静态方法
2. 在`HarmonyDevTools`类中添加对应的UI元素和事件处理
3. 更新UI布局
## 10. 许可证
本项目遵循原项目的许可证条款。
## 11. 贡献
欢迎提交Issue和Pull Request来改进这个项目。
---
**注意**: 使用前请确保已正确安装HarmonyOS/OpenHarmony SDK并且`toolchains`目录包含所需的工具文件。