Flutter Gradle构建报错:找不到com.google.gms.google-services插件
构建错误详情
FAILURE: Build failed with an exception. - 位置: 构建文件 '/Users/thomasharpula/unthink_new/android/build.gradle.kts' 第1行 - 错误原因: 未在以下来源中找到插件 [id: 'com.google.gms.google-services']: - Gradle核心插件(该插件不在'org.gradle'命名空间下) - 包含的构建(无包含构建包含此插件) - 插件仓库(此来源的插件依赖必须包含版本号) - 尝试方案: 使用--stacktrace选项获取堆栈跟踪。 使用--info或--debug选项获取更多日志输出。 使用--scan获取完整分析信息。 访问https://help.gradle.org获取更多帮助。 BUILD FAILED in 761ms
问题根源
根目录
android/build.gradle.kts结构混乱:- 错误地在根插件块中声明
com.android.application、dev.flutter.flutter-gradle-plugin这类应用级插件,此类插件仅需在app/build.gradle.kts中配置。 classpath依赖被错误放置在普通dependencies块中,Gradle类路径依赖需放在buildscript.dependencies或带版本声明的plugins块内。com.google.gms.google-services插件未在根目录声明版本或类路径,导致Gradle无法定位插件。
- 错误地在根插件块中声明
app/build.gradle.kts冗余配置:- 同时通过
plugins块和apply(plugin = "...")重复引入com.google.gms.google-services,引发潜在冲突。
- 同时通过
修正方案
1. 根目录android/build.gradle.kts修正
plugins { id("com.android.application") version "8.2.2" apply false id("kotlin-android") version "1.9.0" apply false id("dev.flutter.flutter-gradle-plugin") version "1.0.0" apply false id("com.google.gms.google-services") version "4.3.15" apply false } allprojects { repositories { google() mavenCentral() } } buildscript { dependencies { classpath("com.google.gms:google-services:4.3.15") } }
2. app/build.gradle.kts修正
plugins { id("com.android.application") id("kotlin-android") id("dev.flutter.flutter-gradle-plugin") id("com.google.gms.google-services") } android { namespace = "com.thomasharpula.unthink" compileSdk = 33 defaultConfig { applicationId = "com.thomasharpula.unthink" minSdk = 21 targetSdk = 33 versionCode = 1 versionName = "1.0" multiDexEnabled = true } buildTypes { getByName("release") { // TODO: Replace with real signing config isMinifyEnabled = false signingConfig = signingConfigs.getByName("debug") proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } getByName("debug") { // Keep debug config as needed } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 isCoreLibraryDesugaringEnabled = true } kotlinOptions { jvmTarget = "1.8" } lint { disable.add("InvalidPackage") } ndkVersion = "29.0.13113456" } flutter { source = "../.." } dependencies { implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.9.0") // Enable Java 8+ API desugaring coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.5") }
关键说明
- 根目录通过
apply false声明全局插件但不立即应用,由子模块按需启用。 - 确保
google()仓库已配置,否则无法下载Google系插件及依赖。 - 移除
app/build.gradle.kts中重复的插件引入语句,避免配置冲突。
内容的提问来源于stack exchange,提问作者harptom
相关产品推荐
相关产品推荐

