mirror of
https://github.com/Dev-Wiki/HarmonyDevTools.git
synced 2026-10-24 23:26:45 +08:00
gui改为使用python 不再依赖外部的运行时
This commit is contained in:
@@ -1,14 +1,15 @@
|
||||
# HarmonyDevTools - Python版本
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
本项目为HarmonyOS/OpenHarmony的 toolchains 工具提供UI操作, 方便使用.
|
||||
本项目为HarmonyOS/OpenHarmony的 toolchains 工具提供Python Tkinter UI操作界面,方便使用。
|
||||
|
||||
## 1. 版本说明
|
||||
|
||||
目前支持 hdc 工具的使用,后续会陆续增加其他工具,
|
||||
这是原C# WPF项目的Python Tkinter版本,保持了相同的功能特性:
|
||||
|
||||
hdc功能支持:
|
||||
- 枚举设备/连接设备
|
||||
@@ -19,34 +20,183 @@ hdc功能支持:
|
||||
- 获取手机的UDID
|
||||
- 其他命令的执行(手动输入执行)
|
||||
|
||||
下载地址: **Release** 页面下载最新版本。
|
||||
## 2. 环境要求
|
||||
|
||||

|
||||
- Python 3.7+
|
||||
- Windows操作系统
|
||||
- HarmonyOS/OpenHarmony SDK(包含toolchains目录)
|
||||
|
||||
## 2. 使用方式
|
||||
## 3. 安装和运行
|
||||
|
||||
下载最新版本, 解压如下目录, 双击 `HarmonyDevTools.exe` 运行。
|
||||
### 3.1 直接运行
|
||||
|
||||

|
||||
1. 确保已安装Python 3.7或更高版本
|
||||
2. 下载项目文件
|
||||
3. 确保`toolchains`目录包含`hdc.exe`文件
|
||||
4. 运行主程序:
|
||||
|
||||
**方式一:使用启动脚本(推荐)**
|
||||
```bash
|
||||
run.bat
|
||||
```
|
||||
|
||||
运行环境要求: netcore6.0, 如果双击无法运行,请下载安装 netcore6.0 runtime:
|
||||
- x64版本:https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.31-windows-x64-installer
|
||||
- x86版本:https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.31-windows-x86-installer
|
||||
**方式二:直接运行Python文件**
|
||||
```bash
|
||||
python main.py
|
||||
```
|
||||
|
||||
## 3. 更新hdc
|
||||
### 3.2 安装依赖(可选)
|
||||
|
||||
根据OpenHarmony官方的文档: [hdc使用指导](https://docs.openharmony.cn/pages/v4.1/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md),
|
||||
安装DevEco以后, 设置SDK路径, 下载最新的SDK, 里面包含 toolchains
|
||||
如果需要额外的功能,可以安装可选依赖:
|
||||
|
||||
> ## 环境准备
|
||||
> hdc 工具获取方式:
|
||||
>
|
||||
> 通过OpenHarmony sdk获取,hdc在sdk的toolchains目录下。
|
||||
>
|
||||
> **使用举例:**
|
||||
>
|
||||
> 下面以windows侧使用方式举例:
|
||||
>
|
||||
> 获取windows的sdk,将hdc.exe放到磁盘某个位置即可使用。
|
||||
```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.txt(main.py中的VERSION变量用于开发调试)
|
||||
|
||||
### 4.4 使用auto-py-to-exe(GUI工具)
|
||||
|
||||
```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`目录包含所需的工具文件。
|
||||
|
||||
Reference in New Issue
Block a user