HarmonyOS鸿蒙Next中hvigor构建日志要怎么看

HarmonyOS鸿蒙Next中hvigor构建日志要怎么看 最近想学习一下调试和增加任务,在看hvigor的debug日志的时候一脸懵,看了构建文档的类别说明还是蒙蒙的,想问一下各位大佬hvigor的日志应该怎么看,有没有什么资料推荐

cke_3510.png


更多关于HarmonyOS鸿蒙Next中hvigor构建日志要怎么看的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

背景知识

  • hvigor-config.json5文件主要包含以下内容:
    • 指定当前工程的开发态构建工具版本号、构建任务和脚本的依赖版本等。
    • 指定构建工具的相关能力,包括日志级别、执行策略等。
    • 指定构建的运行时node的相关配置参数,以及其他传递给构建脚本的额外参数等。
  • 守护进程是作为后台进程运行而不是在交互式用户的直接控制下运行的计算机程序。Hvigor守护进程是一个持续存在的后台进程,可以减少运行构建所需的时间。
  • Build Analyzer是一款用于分析和优化项目构建过程的工具,它可以帮助开发者可视化地分析和排查构建过程中的性能和内存问题。

解决方案

Build窗口中编译报错

  1. 首先获取IDE版本、SDK版本(编译工具链版本,与hvigor强相关)、hvigor版本,以及hvigor-config.json5配置信息。
  2. 将stacktrace设置为true,并重新编译,详见步骤3。
  3. 再次编译,给出Build窗口的编译报错信息(含堆栈)。需要完整的包含报错堆栈上下文的完整构建日志(最好是构建报错完整txt文本)。

daemon类问题

  1. 获取hvigor版本,需要hvigor-config.json5截图。

  2. 在Build窗口获取daemon日志。

    如果出现上图报错给出了daemon具体地方,获取该daemon日志即可,如果没出现需要复现问题并重新获取daemon日志。如下获取路径为:“C:\Users\xxxxx.hvigor\daemon\log\5.19.0”。

  3. 获取idea.log的日志。点击IDE上方选项:Help->Show Log in Explorer。

构建耗时问题

  1. 获取IDE和hvigor版本。
  2. 勾选高级模式,并重新构建工程获取新的分析日志。在Settings中搜索Hvigor,勾选Use build analysis mode,选择verbose(旧版本)/advanced(新版本)。
  3. 找到耗时久的任务。
  4. 一直展开,找到耗时最久的几个小任务。
  5. 最后获取report.json(最好找到此次编译的report.json),点击右上角导出按钮,导出report。

常见FAQ

Q:IDE编译项目报错构建信息较多,如何快速定位报错信息?

A:在IDE的Build中搜索“hvigor ERROR”可快速定位到hvigor构建的相关报错信息。

总结

大部分问题可以通过分析日志发现问题根因,还有部分问题需要结合运行场景和条件进行分析,在收集日志时还需要注意:

  • 日志时效性:设备重启后部分日志可能丢失,建议发现问题后立即导出分析。
  • 混淆工程:Release包崩溃需通过IDE反混淆工具还原符号表,确保可关联源码。

更多关于HarmonyOS鸿蒙Next中hvigor构建日志要怎么看的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,查看hvigor构建日志的方法如下:打开DevEco Studio,进入项目根目录,使用终端执行hvigor clean清理缓存,再执行hvigor buildhvigor --info build启动构建。构建日志会实时输出在终端窗口,包含错误、警告及构建状态信息。若需详细日志,可在项目hvigor目录下查找生成的日志文件,或通过IDE的Build Output窗口查看结构化日志输出。

在HarmonyOS Next中,hvigor构建日志的解读可以遵循以下步骤:

  1. 日志级别与结构

    • 重点关注ERROR/WARNING标记,快速定位问题。
    • 日志按任务执行顺序排列,可结合时间戳分析阶段耗时。
  2. 关键信息提取

    • 依赖解析:查看Dependency段确认库版本冲突或缺失。
    • 编译错误:搜索FAILED或异常堆栈,定位到具体代码文件及行号。
    • 资源合并:注意资源冲突提示(如重复资源ID)。
  3. 调试技巧

    • 使用--stacktrace参数获取详细堆栈(例:hvigor assemble --stacktrace)。
    • 通过--info日志级别输出更细粒度的任务执行流程。
  4. 日志图示解析
    根据你提供的截图:

    • 绿色条目为成功任务,红色高亮需优先处理。
    • 模块构建顺序由上至下,失败任务的依赖链会中断后续执行。

推荐结合官方构建配置指南中的日志分类说明,重点阅读“分析构建失败”章节。实际调试时建议按模块分段检查,逐步缩小问题范围。

回到顶部