Mac DevEco Studio 5.1.1 更新后 build报错

Mac DevEco Studio 5.1.1 更新后 build报错

Mac M3 DecEco-Studio 5.1.1 提示更新,升级后版本号为 5.1.1.823,之前正常开发中的项目 rebuild 后报错如下,试过重装以及退回 5.1.0 版本报同样错误,请问该怎么解决:

> hvigor ERROR: Failed :entry:default@PackageHap...
> hvigor ERROR: Tools execution failed.
Command failed with exit code null: java -Dfile.encoding=utf-8 -jar /Applications/DevEco-Studio.app/Contents/sdk/default/openharmony/toolchains/lib/app_packing_tool.jar --mode hap --force true --lib-path /Users/MyProject/entry/build/default/intermediates/stripped_native_libs/default --json-path /Users/MyProject/entry/build/default/intermediates/package/default/module.json --resources-path /Users/MyProject/entry/build/default/intermediates/res/default/resources --index-path /Users/MyProject/entry/build/default/intermediates/res/default/resources.index --pack-info-path /Users/MyProject/entry/build/default/outputs/default/pack.info --out-path /Users/MyProject/entry/build/default/outputs/default/entry-default-unsigned.hap --ets-path /Users/MyProject/entry/build/default/intermediates/loader_out/default/ets --pkg-context-path /Users/MyProject/entry/build/default/intermediates/loader/default/pkgContextInfo.json
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000000000000000, pid=66854, tid=5123
#
# JRE version: (17.0.12+1) (build )
# Java VM: OpenJDK 64-Bit Server VM (17.0.12+1-b1087.25, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)
# Problematic frame:
# C  0x0000000000000000
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
JNI global refs:
JNI global refs: 0, weak refs: 0

JNI global refs memory usage: 0, weak refs: 0

OOME stack traces (most recent first):
Classloader memory used:
Loader bootstrap                                                                       : 557B

# An error report file with more information is saved as:
# /Users/MyProject/hs_err_pid66854.log
#

    at OhosLogger.errorMessageExit (/Applications/DevEco-Studio.app/Contents/tools/hvigor/hvigor/src/base/log/hvigor-log.js:1:3494)
    at OhosLogger._printErrorAndExit (/Applications/DevEco-Studio.app/Contents/tools/hvigor/hvigor-ohos-plugin/src/utils/log/ohos-logger.js:1:2077)
    at ProcessUtils.handleException (/Applications/DevEco-Studio.app/Contents/tools/hvigor/hvigor-ohos-plugin/src/utils/process-utils.js:1:5387)
    at ProcessUtils.execute (/Applications/DevEco-Studio.app/Contents/tools/hvigor/hvigor-ohos-plugin/src/utils/process-utils.js:1:3605)
    at async generalExecute (/Applications/DevEco-Studio.app/Contents/tools/hvigor/hvigor-ohos-plugin/src/tasks/worker/worker-process-script.js:1:485)
    at async MessagePort.<anonymous> (/Applications/DevEco-Studio.app/Contents/tools/hvigor/hvigor/src/base/internal/pool/worker-manager/worker-action.js:1:3724)
> hvigor ERROR: BUILD FAILED in 11 s 80 ms

hs_err_pid66503.log:

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000000000000000, pid=66503, tid=6403
#
# JRE version: (17.0.12+1) (build )
# Java VM: OpenJDK 64-Bit Server VM (17.0.12+1-b1087.25, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)
# Problematic frame:
# C  0x0000000000000000
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# Summary
Command Line: -Dfile.encoding=utf-8 /Applications/DevEco-Studio.app/Contents/sdk/default/openharmony/toolchains/lib/app_packing_tool.jar --mode hap --force true --lib-path /Users/XiaoMM/Downloads/Work/VersionControl/MyProject/entry/build/default/intermediates/stripped_native_libs/default --json-path /Users/XiaoMM/Downloads/Work/VersionControl/MyProject/entry/build/default/intermediates/package/default/module.json --resources-path /Users/XiaoMM/Downloads/Work/VersionControl/MyProject/entry/build/default/intermediates/res/default/resources --index-path /Users/XiaoMM/Downloads/Work/VersionControl/MyProject/entry/build/default/intermediates/res/default/resources.index --pack-info-path /Users/XiaoMM/Downloads/Work/VersionControl/MyProject/entry/build/default/outputs/default/pack.info --out-path /Users/XiaoMM/Downloads/Work/VersionControl/MyProject/entry/build/default/outputs/default/entry-default-unsigned.hap --ets-path /Users/XiaoMM/Downloads/Work/VersionControl/MyProject/entry/build/default/intermediates/loader_out/default/ets --pkg-context-path /Users/XiaoMM/Downloads/Work/VersionControl/MyProject/entry/build/default/intermediates/loader/default/pkgContextInfo.json

Host: "Mac15,13" arm64, 8 cores, 24G, Darwin 24.2.0, macOS 15.2 (24C101)
Time: Tue Jul 29 16:27:36 2025 CST elapsed time: 0.004313 seconds (0d 0h 0m 0s)

### THREAD
Current thread (0x000000011c80e800): JavaThread "Unknown thread" [_thread_in_vm, id=6403, stack(0x000000016ceec000,0x000000016d0ef000)]

8 回复

看了报错信息,像是服务器的运行应用程序的打开文件的最大数及最大进程数设置的问题。

默认值相对较小默认为4096,需要改一下/etc/security/limits.conf的配置。

vi /etc/security/limits.conf
// 添加如下配置:
soft    nofile     327680
hard    nproc      327680

确实可以了,感谢,

我同样IDE版本,mac M3 16GB内存,正常运行。要么重装IDE试试

我之前5.1.1也是能正常运行、正常开发,提示升级点确认升级了,然后项目编译报错。重装、安装5.1.0版本、清缓存都试过了,不行。

你可以换个ARM版本的Java JDK试试,

试过了,装的这个 jdk-17.0.16_macos-aarch64_bin.dmg,Mac M3肯定装这个架构的 JDK。不过还是编译报错。

Mac版DevEco Studio 5.1.1更新后build报错可能原因:

  1. HarmonyOS SDK版本不兼容;
  2. 项目配置文件未同步更新;
  3. 缓存未清理导致冲突;
  4. Gradle插件版本问题。

解决方法:

  1. 检查并更新SDK至匹配版本;
  2. 清理项目缓存(File > Invalidate Caches);
  3. 核对项目级build.gradle中的agp版本;
  4. 确认node_modules等依赖项完整。

若问题持续,可查看具体报错日志定位异常模块。

这是一个典型的Java虚拟机崩溃问题,错误日志显示SIGSEGV信号导致JVM异常终止。从错误信息来看,问题出在app_packing_tool.jar执行过程中。

建议尝试以下解决方案:

  1. 清理项目构建缓存:

    rm -rf ~/.ohpm
    rm -rf ~/.deveco
    rm -rf ./build
    rm -rf ./node_modules
    
  2. 检查JDK兼容性: 确保使用的是DevEco Studio自带的JDK,而不是系统安装的其他版本。可以在Preferences > Build, Execution, Deployment > Build Tools > Gradle中确认JDK路径。

  3. 更新Gradle配置: 检查项目中的gradle-wrapper.properties文件,确保使用的是兼容的Gradle版本。

  4. 检查native库: 错误可能与被打包的native库有关,确认是否有针对M3芯片编译的arm64版本。

如果问题依旧,可以查看完整的hs_err_pid*.log文件获取更详细的崩溃信息,特别是"Problematic frame"部分。

回到顶部