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

Ubuntu下React Native项目构建失败:groovy.json.JsonException报错求助

问题描述

在Ubuntu 22.04.3 LTS(64位)系统搭建React Native项目时,执行构建出现以下错误:

FAILURE: Build failed with an exception.
位置:脚本'/home/ravi/react-native/vrnative/node_modules/@react-native-community/cli-platform-android/native_modules.gradle'第250行
问题原因:脚本评估时发生错误。
调用[node, /home/ravi/react-native/vrnative/node_modules/@react-native-community/cli/build/bin.js, config]时抛出异常,错误信息:groovy.json.JsonException: Unable to determine the current character, it is not a string, number, array, or object
当前读取的字符为'i',int值为105,行号1,索引0,提示使用--verbose flag获取更多详情。
构建2秒后失败,提示安装应用失败,请确保Android开发环境已配置,命令执行失败:./gradlew app:installDebug -PreactNativeDevServerPort=8081

已尝试的操作:

  • 删除node_modules和package-lock.json后执行yarn install、yarn android
  • 执行./gradlew clean并删除build文件夹
  • 移除gradle中的apply from: file("../../../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)代码

技术栈版本:

  • Node: v20.17.0
  • Yarn: 1.22.22
  • npm: 10.8.2
  • watchman: 4.9.0
  • react-native-cli: 2.0.1
  • react-native: 0.69.8-1
解决方案

1. 切换兼容的Node.js版本

React Native 0.69.x系列官方仅支持Node.js 14.x/16.x版本,Node 20版本过高会引发兼容性问题,导致config命令返回非合法JSON:

# 用nvm安装并切换到Node 16.x(需先安装nvm)
nvm install 16
nvm use 16

2. 彻底清理并重新构建

切换Node版本后,清理所有残留文件再重新安装依赖:

rm -rf node_modules package-lock.json yarn.lock
yarn install
cd android && ./gradlew clean
cd .. && yarn android

3. 检查config命令输出

手动执行报错中的命令,确认返回内容是否为合法JSON:

node /home/ravi/react-native/vrnative/node_modules/@react-native-community/cli/build/bin.js config

如果返回的是错误信息(比如开头为'i'的提示),说明依赖安装不完整,需查看yarn install日志,解决依赖冲突或网络问题。

4. 恢复gradle原生模块配置

之前移除的native_modules脚本是React Native处理原生模块的必要配置,需在android/app/build.gradle中恢复:

apply from: file("../../../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)

确保路径与你的项目目录结构匹配。

5. 验证Android环境配置

  • 确认SDK Build Tools版本为30.0.2(React Native 0.69.x要求)
  • 检查ANDROID_HOME环境变量是否正确设置
  • 若存在网络问题,检查~/.gradle/gradle.properties中的代理或镜像配置是否有效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 23:52:03