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

React Native项目Realm在Android构建失败(Task :realm:writeDebugAarMetadata FAILED)

React Native + Realm Android构建报错::realm:writeDebugAarMetadata失败及StackOverflowError解决

针对你遇到的React Native 0.71.11项目集成Realm后Android构建失败(iOS正常),报错:realm:writeDebugAarMetadata任务失败、无法创建目录并伴随java.lang.StackOverflowError的问题,可尝试以下解决方案:

  • 清理项目缓存与构建文件
    彻底清理缓存和旧构建文件,避免依赖残留导致的冲突:

    # 清理React Native缓存
    npx react-native clean
    # 进入Android目录清理Gradle缓存
    cd android
    ./gradlew clean
    rm -rf .gradle build
    cd ..
    # 删除依赖包和锁文件
    rm -rf node_modules package-lock.json yarn.lock
    # 重新安装依赖
    npm install
    
  • 核对Realm与React Native版本兼容性
    React Native 0.71.x与Realm的版本匹配需严格对应,建议调整依赖版本:
    修改package.json中的Realm相关依赖为:

    "realm": "11.10.0",
    "@realm/react": "^0.6.0"
    

    保存后重新执行npm install。

  • 修复Android目录权限
    确保macOS下项目Android目录有足够读写权限:

    chmod -R 755 ./android
    
  • 调整Gradle堆内存配置
    StackOverflowError通常由堆内存不足导致,修改android/gradle.properties中的JVM参数:

    org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    
  • 禁用AAR元数据增量构建
    在android/app/build.gradle的android代码块中添加配置,强制关闭增量构建避免目录创建问题:

    android {
        // 已有配置...
        tasks.withType(com.android.build.gradle.tasks.WriteAarMetadata) {
            incremental = false
        }
    }
    

如果以上方案无效,可尝试降级React Native到0.71.8(部分开发者反馈该版本与Realm 11.x兼容性更稳定),或临时移除其他可能冲突的依赖(如react-native-reanimated)进行测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 14:09:57