一键部署鸿蒙HSP与HAP文件 脚本解析
在鸿蒙(HarmonyOS)应用开发与测试过程中,频繁安装和更新测试包是一项常见需求。本文介绍如何通过一个自动化批处理脚本(install_v1.0.1.bat
)快速完成鸿蒙应用的卸载、安装与启动,显著提升开发和测试效率。
脚本核心功能
该脚本实现了以下功能:
- 动态读取包名 :支持从配置文件(
config.txt
)自动获取包名,或手动输入。 - 自动卸载旧版本 :通过
hdc uninstall
命令清理旧应用。 - 批量安装HSP文件 :扫描当前目录下的所有
.hsp
文件(鸿蒙共享包)并依次安装。 - 安装主HAP文件 :检测并安装目录中的
.hap
文件(鸿蒙应用包),若所有HSP安装成功则继续。 - 自动启动应用 :安装成功后,通过
hdc shell
命令启动应用的入口能力(EntryAbility)。 - 完善的错误处理:实时检测安装状态,失败时中断流程并提示详细信息。
文件说明
1. 配置文件 config.txt
- 作用 :存储鸿蒙应用的包名(如
com.atomicservice.5765880207855877209
)。 - 优势:避免重复输入,适用于固定包名的测试场景。
- 格式要求:仅需单行内容,无额外语法。
2. 批处理脚本 install_v1.0.1.bat
- 兼容性:支持Windows环境。
- 依赖工具 :需提前配置鸿蒙设备连接工具
hdc
并添加到系统路径。
使用步骤
第一步:准备文件
- 将脚本文件
install_v1.0.1.bat
和配置文件config.txt
放置在项目根目录。 - 确保当前目录包含待安装的
.hsp
(共享包)和.hap
(应用包)文件。
第二步:配置包名(可选)
- 直接修改
config.txt
:写入目标包名(覆盖原有内容)。 - 不修改配置文件:运行脚本时手动输入包名。
第三步:运行脚本
双击执行 install_v1.0.1.bat
,按提示操作:
- 若
config.txt
存在且包名有效,自动读取并卸载旧版本。 - 若未配置包名,脚本会提示手动输入。
- 按顺序安装所有HSP文件,最后安装HAP文件。
- 安装成功后,自动启动应用并输出日志。
关键代码解析
1. 包名动态读取
bat
if exist config.txt (
for /f "delims=" %%i in (config.txt) do set PACKAGE_NAME=%%i
)
- 若存在
config.txt
,读取其第一行内容作为包名。
2. 错误中断逻辑
bat
if %errorlevel% neq 0 (
echo Failed to install HSP file: %%~nxf
set INSTALL_SUCCESS=0
goto END
)
- 任一HSP安装失败时,立即终止流程并标记失败。
3. 自动启动应用
bat
hdc shell aa start -a EntryAbility -b %PACKAGE_NAME% -m entry
- 通过鸿蒙的
aa
命令启动应用的入口能力,需确保EntryAbility
名称与工程配置一致。
常见问题与建议
-
HSP与HAP的区别
- HSP(Harmony Shared Package):共享功能模块,可被多个应用复用。
- HAP(Harmony Application Package):主应用包,包含入口逻辑。
-
脚本执行失败排查
- 检查
hdc
工具是否正常连接设备。 - 确保HAP文件存在且未损坏。
- 确认包名与工程配置一致(避免权限冲突)。
- 检查
-
扩展建议
- 可修改脚本支持多HAP文件安装(需调整循环逻辑)。
- 添加版本号校验,避免重复安装相同版本。
总结
通过此脚本,开发者可以快速完成鸿蒙测试包的部署,实现"一键安装+启动"的自动化流程。尤其适合需要频繁验证功能或修复BUG的场景。结合配置文件的动态读取和严格的错误处理,既能提升效率,又能减少人工操作失误。
立即下载脚本,体验高效鸿蒙开发吧!
附录:
-
[鸿蒙hdc工具使用指南](hdc-调试命令-调测调优-系统 - 华为HarmonyOS开发者)
-
脚本源码地址:[GitHub示例仓库](README.md · ZhangHuiXin/HarmonyDepl...)
-
元服务如何快速缓存图片:[推荐阅读](基于鸿蒙元服务Image组件主动缓存图片设计与实现基于鸿蒙元服务Image组件主动缓存图片设计与实现 概述 在鸿蒙元服务 - 掘金)