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

执行npx react-native run-android遇react-native-reanimated构建错误求助

React Native Android构建失败:CMake错误与StackOverflowError解决

问题详情

执行npx react-native run-android时应用安装失败,构建日志显示两个关键错误:

  • 任务:react-native-reanimated:configureCMakeDebug[arm64-v8a]执行失败,CMake构建react-native-reanimated的Native代码出错
  • 抛出java.lang.StackOverflowError(无额外错误信息)

环境参数:

  • React Native Reanimated:2.x
  • Android Gradle Plugin:7.2.1
  • Gradle:7.5.1
  • NDK:21.4.7075529
  • CMake:3.18.1

分步解决方案

1. 修复CMake构建错误

  • 清理Reanimated本地构建缓存:删除node_modules/react-native-reanimated/android/.cxx目录,该目录存储CMake临时构建文件,清理后重新触发构建可解决缓存导致的配置错误
  • 调整NDK版本:Reanimated 2.x与NDK 21.x存在兼容风险,升级NDK至24.x版本(确保与React Native 0.70.x版本匹配)
  • 限制编译ABI:在android/app/build.gradle中指定仅编译所需ABI,减少构建压力:
    android {
        defaultConfig {
            ndk {
                abiFilters 'armeabi-v7a', 'arm64-v8a'
            }
        }
    }
    
  • 重装依赖:删除node_modules、package-lock.json,执行npm install后重新运行构建命令

2. 解决StackOverflowError

  • 增大Gradle堆内存:在android/gradle.properties中修改JVM参数,提升堆内存上限:
    org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    
  • 禁用Gradle守护:临时关闭守护进程避免内存溢出,执行:
    gradlew.bat --no-daemon clean installDebug -PreactNativeDevServerPort=8081
    
  • 清理Gradle全局缓存:删除用户目录下的.gradle/caches文件夹,清除旧的缓存文件

辅助排查步骤

添加--stacktrace参数执行构建,获取完整错误堆栈,定位更具体的问题:

npx react-native run-android --stacktrace

内容的提问来源于stack exchange,提问作者FAIZ HASSAN JAMI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:35:24