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
相关产品推荐
相关产品推荐

