React Native 0.73.9升级Gradle 8.10后serviceOf未解析构建失败
React Native 0.73.9 构建失败(Unresolved reference: serviceOf)排查方案
以下是针对你遇到的问题的排查步骤,重点聚焦本地与同事环境的差异点:
核对Gradle相关版本一致性
- 检查项目根目录
gradle/wrapper/gradle-wrapper.properties中的distributionUrl,确保和同事的完全一致(例如https\://services.gradle.org/distributions/gradle-8.10-all.zip) - 确认项目根目录
build.gradle.kts(或build.gradle)中com.android.tools.build:gradle的版本与同事匹配,且适配Gradle 8.10 - 打开Android Studio → 设置 → Build, Execution, Deployment → Build Tools → Gradle,确认项目使用Gradle wrapper版本而非本地全局Gradle版本,避免旧版本干扰
- 检查项目根目录
彻底清理Gradle缓存
- 删除本地全局Gradle缓存:Windows路径为
C:\Users\<你的用户名>\.gradle\caches,Mac/Linux为~/.gradle/caches - 删除项目根目录下的隐藏文件夹
.gradle - 执行命令
./gradlew clean build --refresh-dependencies,强制刷新所有依赖
- 删除本地全局Gradle缓存:Windows路径为
验证
@react-native/gradle-plugin依赖- 检查
package.json中@react-native/gradle-plugin的版本,确保和同事完全一致(RN 0.73.9对应插件版本应为0.73.x系列) - 执行
npm ls @react-native/gradle-plugin,排查是否存在版本冲突或重复安装 - 手动删除
node_modules/@react-native/gradle-plugin,再执行npm install重新安装插件
- 检查
检查Android SDK与配置
- 打开Android Studio SDK Manager,确认已安装API 34的SDK Platform、对应版本的Build Tools(版本需和同事一致)
- 检查
local.properties中的sdk.dir路径是否正确,且目录权限正常 - 核对
gradle.properties中的android.compileSdkVersion、android.targetSdkVersion是否均设置为34,与同事配置一致
确认Java版本兼容性
- Gradle 8.10要求Java 17,执行
java -version和javac -version确认本地Java版本为17 - 在Android Studio设置中,确认Gradle JDK选择的是Java 17(推荐使用Android Studio自带的OpenJDK 17)
- 检查系统
JAVA_HOME环境变量是否指向Java 17安装目录,避免版本冲突
- Gradle 8.10要求Java 17,执行
排查本地配置差异
- 执行
git diff,查看是否存在未提交的gradle配置文件修改(如build.gradle.kts、gradle-wrapper.properties等) - 确认
.gitignore未忽略必要配置文件,且本地无未被版本控制的自定义配置覆盖项目默认设置
- 执行
验证全新环境构建
- 将项目克隆到新目录,不保留任何本地缓存,直接执行
npm install和./gradlew assembleDebug - 若新目录能正常构建,说明原目录存在缓存或配置污染,需彻底清理原目录的
.gradle、.idea、node_modules、package-lock.json等文件后重新安装
- 将项目克隆到新目录,不保留任何本地缓存,直接执行
内容的提问来源于stack exchange,提问作者BOUTILLIER Achille
相关产品推荐
相关产品推荐

