React Native 升级至0.71.7后Android构建依赖与Gradle同步报错求助
React Native 从0.62.2升级到0.71.7后的Android构建问题
问题现象
- 在Android目录执行
.gradlew build时,报错:
* What went wrong: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > Problems reading data from Binary store in /Users/Username/.gradle/.tmp/gradle8504350670693111797.bin offset 102613 exists? true
- 在Android Studio中同步Gradle时,报错:
No variants found for ':app'. Check build files to ensure at least one variant exists. at: com.android.tools.idea.gradle.project.sync.AndroidModule.prepare(GradleModules.kt:266) com.android.tools.idea.gradle.project.sync.SyncProjectActionWorker.populateAndroidModels(SyncProjectActionWorker.kt:99)
已确认SDK Manager已下载所有必要SDK(使用最新Android Studio Flamingo | 2022.2.1 Patch 1),以下是相关配置文件与环境信息:
项目配置文件
顶级Build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { project.ext { buildToolsVersion = "30.0.0" minSdkVersion = 21 compileSdkVersion = 30 targetSdkVersion = 30 // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP. ndkVersion = "23.1.7779620" } repositories { google() mavenCentral() } dependencies { classpath('com.android.tools.build:gradle:7.3.0') classpath("com.facebook.react:react-native-gradle-plugin") // RNFirebase classpath 'com.google.gms:google-services:4.3.15' } }
gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
环境信息
Java环境(已尝试11和15版本)
#Java 11 java 11.0.10 2021-01-19 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.10+8-LTS-162) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+8-LTS-162, mixed mode) #Java 15 openjdk 15.0.2 2021-01-19 OpenJDK Runtime Environment Corretto-15.0.2.7.1 (build 15.0.2+7) OpenJDK 64-Bit Server VM Corretto-15.0.2.7.1 (build 15.0.2+7, mixed mode, sharing)
解决步骤
1. 清理Gradle缓存与临时文件
- 删除项目根目录下的
.gradle文件夹 - 删除
android/.gradle文件夹 - 删除
android/app/build文件夹 - 执行命令:
./gradlew clean
2. 对齐React Native 0.71.7的官方配置
React Native 0.71.x要求的核心配置需调整:
- AGP(Android Gradle Plugin)版本升级到7.4.2
- compileSdkVersion升级到33
- buildToolsVersion升级到33.0.2
- NDK版本替换为官方推荐的25.1.8937393
修改后的顶级build.gradle示例:
buildscript { project.ext { buildToolsVersion = "33.0.2" minSdkVersion = 21 compileSdkVersion = 33 targetSdkVersion = 33 ndkVersion = "25.1.8937393" } repositories { google() mavenCentral() } dependencies { classpath('com.android.tools.build:gradle:7.4.2') classpath("com.facebook.react:react-native-gradle-plugin") classpath 'com.google.gms:google-services:4.3.15' } }
3. 锁定Java版本为11
React Native 0.71.x仅支持Java 11,需确保系统默认使用Java 11:
# macOS环境切换示例 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home # 或使用jenv管理版本 jenv local 11
4. 重新同步与构建
- 打开Android Studio,点击
File->Sync Project with Gradle Files - 再次执行
./gradlew build
内容的提问来源于stack exchange,提问作者Tommy Leong
相关产品推荐
相关产品推荐

