You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ARM64环境下React Native构建Hermes编译器识别失败求助

解决ARM64环境下React Native 0.72.4构建Hermes识别问题

疑问解答

1. ARM64系统未被正确识别的原因

React Native 0.72.4官方提供的Hermes预编译二进制包仅包含linux64(x86_64架构)、osx-bin、win64-bin版本,没有适配ARM64架构的预编译文件。同时该版本RN的Gradle构建脚本中,Hermes的OS/架构判断逻辑未覆盖ARM64 Linux环境,因此触发"OS not recognized"错误。

2. 正确配置project.react.hermesCommand的方法

你已经手动编译出ARM64版本的Hermes,但配置未生效可从以下方向排查修复:

  • 确认配置文件位置:确保project.react.hermesCommand配置在android/gradle.properties文件中,而非项目根目录的gradle.properties。
  • 验证二进制有效性:在容器内执行/opt/hermes/build/bin/hermesc --version,确认文件可正常运行(无架构不兼容类报错)。
  • 显式在App级Gradle脚本指定:打开android/app/build.gradle,在react扩展块中直接声明路径:
    react {
        hermesCommand = "/opt/hermes/build/bin/hermesc"
    }
    
  • 清理构建缓存:执行./gradlew clean清除旧缓存后重新触发构建,避免配置残留。

3. Hermes与ARM64 Android环境的兼容性

手动编译的ARM64版本Hermes与ARM64 Android(arm64-v8a)环境完全兼容:

  • Hermes原生支持ARM64架构,你基于arm64v8/ubuntu容器编译的hermesc,可正常将JS代码编译为Hermes字节码,该字节码能在ARM64 Android设备上运行。
  • 只要编译Hermes时的环境架构与运行容器一致,就不会出现兼容性问题。

额外排查建议

  • 检查容器环境变量:可执行export PATH=/opt/hermes/build/bin:$PATH,将Hermes路径加入系统环境变量,辅助Gradle识别。
  • 查看详细构建日志:执行./gradlew assembleDebug --info,搜索hermesCommand相关输出,确认配置是否被正确读取。

内容的提问来源于stack exchange,提问作者Rania

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 21:55:53