c***@tmp.dcloud.io
c***@tmp.dcloud.io
  • 发布:2026-07-28 19:47
  • 更新:2026-07-28 19:55
  • 阅读:34

【报Bug】执行HBuilder 5.15版本或者5.22 alpha版本在cmd中执行cli指令构建uniapp示例工程的鸿蒙元服务,卡住,使用HBuilder 5.07版本没有问题

分类:鸿蒙Next

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 5.22

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS 6.0.0

手机厂商: 华为

手机机型: 鸿蒙6.0手机

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

cli构建hello-uniapp工程生成鸿蒙元服务:D:\HBuilderX.5.22.2026072503-alpha\HBuilderX\cli.exe launch mp-harmony --project d:\code2026\uniapp\uni-template-news_3.1.8 --deviceId 3DK0124528000470

预期结果:

HBuilder 5.15版本或者5.22 alpha版本,cli可以正常构建鸿蒙元服务

实际结果:

执行HBuilder 5.15版本或者5.22 alpha版本在cmd中执行cli指令构建uniapp示例工程的鸿蒙元服务,卡住。

bug描述:

执行HBuilder 5.15版本或者5.22 alpha版本在cmd中执行cli指令构建uniapp示例工程的鸿蒙元服务,卡住,使用HBuilder 5.07版本没有问题。

  • deviceId不传递@AS报错未检测到指定设备

构建指令:D:\HBuilderX.5.22.2026072503-alpha\HBuilderX\cli.exe launch mp-harmony --project d:\code2026\uniapp\uni-template-news_3.1.8 --deviceId 3DK0124528000470

报错信息:
19:33:48.398 HBuilderX Version: 5.22.2026072503-alpha
19:33:48.651 未检测到指定设备 3DK0124528000470
19:33:48.652 当前可用设备:
19:33:48.653 HUAWEI Mate 70 Pro【AS@3DK0124528000470】 1

  • deviceId加上@AS,卡住在显示版本号这边,不会执行构建

构建指令:D:\HBuilderX.5.22.2026072503-alpha\HBuilderX\cli.exe launch mp-harmony --project d:\code2026\uniapp\uni-template-news_3.1.8 --deviceId AS@3DK0124528000470

卡住日志(只有这一行):19:26:03.390 HBuilderX Version: 5.22.2026072503-alpha

  • 使用HBuilder 5.07版本没有问题

构建指令:D:\HBuilderX\cli.exe launch mp-harmony --project D:\code2026\uniapp\uni-template-news_3.1.8 --deviceId 3DK0124528000470

构建日志:
19:41:31.915 HBuilderX Version: 5.07
19:41:32.133 项目 uni-template-news_3.1.8 开始编译
19:41:33.354 请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。若要正式发布,请点击发行菜单或使用 cli 发布命令进行发布
19:41:33.354 正在编译中...
19:41:33.354 编译会生成大量临时文件,杀毒软件监控时会影响编译速度,并造成CPU升高。推荐把项目目录添加到杀毒软件的监控排除名单中。[添加] [帮助]
...

2026-07-28 19:47 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( HBuilderX技术交流群 ) 咨询,群中有相关专业的管理员和群友。

好的,收到你的 Bug 反馈。作为 DCloud 官方人员,我对这个反馈进行如下评审和分析:

1. 反馈质量评审

这个 Bug 反馈的整体质量非常高,信息详实且对比清晰,为我们排查问题提供了很好的基础。

  • BUG 标题与描述:标题准确概括了核心问题(特定版本 CLI 构建鸿蒙元服务卡住),描述部分详细列出了不同参数下的执行结果,对比了 5.07 正常与 5.15/5.22 alpha 异常的情况,逻辑清晰,官方人员能够完全看懂。
  • 代码示例:虽然未单独提供项目源码,但指明了使用的是 uni-template-news_3.1.8 示例工程,属于公开可获取的标准模板,官方人员可以直接下载复现,无需额外调整。
  • 复现步骤:非常清晰。提供了完整的 CLI 执行命令(包含 HBuilderX 的绝对路径、项目绝对路径、平台参数和 deviceId),并区分了不传 @AS、传 @AS 以及降级版本三种情况的日志输出,能够直接复现。
  • 预期结果与实际结果:预期合理(CLI 正常构建),实际结果描述准确(分别报错“未检测到指定设备”和卡在版本号输出),排除了误报的可能性。
  • 分类信息:非常完整。包含了操作系统(Win10)、HBuilderX 版本号(5.15 / 5.22 alpha)、手机 OS 平台及版本(HarmonyOS NEXT 6.0.0)、Vue 版本(Vue3)和机型(鸿蒙6.0手机)。

评审结论:反馈非常有效,信息完整,无需额外补充即可进入排查阶段。


2. 问题分析与排查

根据你提供的信息和知识库,我们进行如下分析:

  1. 关于 deviceId 参数格式问题
    在 HBuilderX 5.15 及之后的版本中,CLI 运行到鸿蒙元服务(mp-harmony)或鸿蒙应用(app-harmony)时,设备列表的输出格式发生了变化,会带有前缀(如你日志中的HUAWEI Mate 70 Pro【AS@3DK0124528000470】)。 当你不传@AS时,系统无法匹配到纯 ID3DK0124528000470,因此报错“未检测到指定设备”。当你补全为AS@3DK0124528000470后,设备匹配成功,但编译流程卡住。这说明deviceId` 的传参格式在 5.15+ 版本确实需要带上前缀,但这不是导致卡住的根因。

  2. 关于编译卡住问题
    你提到在 5.07 版本一切正常,升级到 5.15 / 5.22 alpha 后卡在 HBuilderX Version 输出这一行。结合知识库信息,这可能与以下几个因素有关:

    • 鸿蒙元服务模板不兼容变化:从 HBuilderX Alpha 4.51 开始,鸿蒙元服务启用了新的内置模板,适配了 ASCF 最新能力,产生了不兼容变化。如果你的项目是老项目,升级 HBuilderX 后可能需要手动处理配置文件。请检查项目根目录下的 harmony-mp-configs/build-profile.json5,搜索 useNormalizedOHMUrl 确保值为 true;检查 harmony-mp-configs/entry/src/main/module.json5,确保 dependencies 中的 bundleName 为 com.huawei.hms.ascfruntime,versionCode 为 10006300。详见 鸿蒙元服务不兼容变化说明
    • 构建缓存错乱:HBuilderX 大版本升级后,新旧版本的鸿蒙工程目录可能不完全兼容。建议在 CLI 命令中增加 --cleanCache true 参数,强制清空构建缓存后重试。
    • Node.js 环境版本问题:鸿蒙工具链对 Node.js 版本有严格要求。如果在命令行卡住且无后续日志,可能是底层调用的 hvigor 构建工具因 Node.js 版本低于 v18.0.0 而静默失败或挂起。请检查你系统环境变量中的 Node.js 版本,推荐使用 DevEco Studio 自带的 Node.js 环境或确保系统 Node.js >= 18。详见 华为鸿蒙编译构建 FAQ

3. 解决方案与建议

建议你按以下步骤尝试修复:

  1. 清理构建缓存
    修改 CLI 构建指令,增加清空缓存参数,尝试重新构建:

    D:\HBuilderX.5.22.2026072503-alpha\HBuilderX\cli.exe launch mp-harmony --project d:\code2026\uniapp\uni-template-news_3.1.8 --deviceId AS@3DK0124528000470 --cleanCache true  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

  2. 检查并更新鸿蒙元服务配置
    按照上文提到的 4.51 版本不兼容变化处理指南,检查并修改项目中的 build-profile.json5module.json5 文件。

  3. 检查 Node.js 环境
    在 CMD 中执行 node -v 确认版本。如果低于 18,请升级 Node.js,或者将 DevEco Studio 自带的 Node.js 路径配置到系统环境变量的最前端。

  4. 尝试界面运行模式
    如果纯 CLI 模式仍然卡住,可以尝试增加 --ui true 参数,通过拉起 HBuilderX 可视化界面运行,以便在 IDE 控制台中观察更详细的错误日志:

    D:\HBuilderX.5.22.2026072503-alpha\HBuilderX\cli.exe launch mp-harmony --project d:\code2026\uniapp\uni-template-news_3.1.8 --deviceId AS@3DK0124528000470 --ui true  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

如果以上步骤均无法解决,这很可能是一个由特定版本 CLI 调用链路引发的 Bug。建议你在尝试 --ui true 时,关注 HBuilderX 控制台是否有隐藏的错误堆栈,并通过【帮助 -> 查看运行日志】获取底层日志进行反馈。

内容为 AI 生成,仅供参考
c***@tmp.dcloud.io

c***@tmp.dcloud.io (作者)

执行D:\HBuilderX.5.22.2026072503-alpha\HBuilderX\cli.exe launch mp-harmony --project d:\code2026\uniapp\uni-template-news_3.1.8 --deviceId AS@3DK0124528000470 --cleanCache true,运行日志报这个错误:
2026-07-28 19:54:23.342 [WARNING:] [PluginHost] TypeError: Cannot read properties of undefined (reading 'STARTING')
at f.start (D:\HBuilderX.5.22.2026072503-alpha\HBuilderX\plugins\uniapp-extension\out\index.js:12:70900)
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)

要回复问题请先登录注册