React Native项目编译报错:未指定compileSdkVersion
解决React Native集成Firebase后Gradle编译报错:compileSdkVersion未指定的问题
问题重现
配置Firebase的google-services.json后,运行React Native Android项目时触发Gradle编译失败,报错核心信息:
A problem occurred configuring root project 'EMTS'.
compileSdkVersion is not specified. Please add it to build.gradle
解决方案
1. 检查根目录build.gradle的版本配置
打开项目根目录下的build.gradle文件,确保buildscript块内的ext节点中明确定义了compileSdkVersion及配套版本参数:
buildscript { ext { buildToolsVersion = "33.0.0" minSdkVersion = 21 compileSdkVersion = 33 targetSdkVersion = 33 } repositories { google() mavenCentral() } dependencies { classpath("com.android.tools.build:gradle:7.3.1") classpath("com.google.gms:google-services:4.3.15") } }
2. 确认app模块build.gradle引用了根配置
打开app/build.gradle文件,在android块中确保通过rootProject.ext引用根目录定义的版本参数:
android { namespace "com.emts" compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "com.emts" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" } // 其他android配置... } // 确保google-services插件在文件末尾应用 apply plugin: 'com.google.gms.google-services'
3. 清理缓存并重新构建
执行以下命令清理Gradle缓存,再重新同步项目:
# Windows系统 gradlew.bat clean # macOS/Linux系统 ./gradlew clean
之后在Android Studio中点击「Sync Project with Gradle Files」按钮完成同步,再重新运行项目。
额外排查点
- 确认没有误将
apply plugin: 'com.google.gms.google-services'添加到根目录的build.gradle中,该插件仅需在app模块的build.gradle末尾声明。 - 若使用React Native 0.70+版本,需确保Gradle版本与Android Gradle Plugin版本匹配(比如Gradle 7.5对应AGP 7.3.1)。
内容的提问来源于stack exchange,提问作者Hussnain Bukhari
相关产品推荐
相关产品推荐

