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

Android项目通过settings.gradle添加Firebase依赖遇配置问题求助

Android Gradle配置与Firebase集成问题排查

背景

基于最新版Android Studio导航模板创建的项目,添加Firebase库时遭遇Gradle构建失败,尝试多种网络方案后仍未解决。

当前Gradle配置文件

settings.gradle

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
}

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }
        gradlePluginPortal()
//        jcenter()
    }
}
rootProject.name = "RowingBG Achievements"
include ':app'

build.gradle (Project级)

buildscript {
    ext {
        gradle_version = "8.0.2"
        kotlin_version = '1.8.20'
        gms_version = '4.3.15'
    }
 //    repositories {
 //        google()
 //        mavenCentral()
 //        gradlePluginPortal()
 //        maven { url "https://maven.google.com" }
 //        maven { url "https://jitpack.io" }
 //    }

 //    dependencies {
 //        classpath "com.android.tools.build:gradle:$gradle_version"
 //        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
 //        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.41'
 //        classpath "com.google.gms:google-services:$gms_version"
 //    }
 }
 plugins {
    id 'com.android.application' version "$gradle_version" apply false
    id 'com.android.library' version "$gradle_version" apply false
    id 'org.jetbrains.kotlin.android' version "$kotlin_version" apply false
    id "com.google.gms.google-services" version "$gms_version" apply false
 }

// Top-level build file where you can add configuration options common to all sub-projects/modules.

build.gradle (Module: app级)

apply plugin: 'com.android.application'
apply plugin: 'org.jetbrains.kotlin.android'
apply plugin: 'com.google.gms.google-services'
//apply plugin: 'kotlin-android'
//apply plugin: 'kotlin-kapt'

android {
    namespace 'com.bzahov.rowingbg'
    compileSdk 33

    defaultConfig {
        applicationId "com.bzahov.rowingbg"
        minSdk 28
        targetSdk 33
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    buildFeatures {
        viewBinding true
    }
}
dependencies { 
     // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:32.1.0')
    implementation 'com.google.firebase:firebase-auth-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
    implementation 'com.google.firebase:firebase-core'
    implementation "com.google.firebase:firebase-firestore-ktx"
    implementation "com.google.firebase:firebase-database-ktx"
    implementation "com.google.firebase:firebase-storage-ktx"
    implementation "com.google.android.gms:play-services-auth-ktx"


...}

遇到的错误

  • 初始错误:

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)

  • 解决上述问题后出现的依赖错误:

Could not find com.google.firebase:firebase-core:.
Required by:
project :app
Failed to resolve: com.google.android.gms:play-services-auth-ktx
Add Google Maven repository and sync project
Affected Modules: app

  • 伴随的运行时类路径解析错误:

Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.

  • 同步警告:无法访问Google Maven仓库

解决方案步骤

1. 修复依赖声明问题

  • 移除implementation 'com.google.firebase:firebase-core':Firebase BoM已包含对应版本,且新版本中firebase-core已被firebase-analytics替代,无需单独声明。
  • 为Google Play Services依赖添加版本管理:在dependencies块中先添加Play Services BoM,再声明具体依赖,避免版本缺失:
    // 添加Google Play Services BoM
    implementation platform('com.google.android.gms:play-services-bom:20.1.0')
    // 已无需指定版本
    implementation "com.google.android.gms:play-services-auth-ktx"
    

2. 优化插件应用方式

将模块级build.gradle的旧版apply plugin替换为新的插件块写法,更符合Gradle 7+规范:

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'com.google.gms.google-services'
}

3. 确保仓库配置有效性

  • 确认settings.gradle的dependencyResolutionManagement中已包含google()仓库,这是获取Firebase和Google Play Services依赖的核心仓库。
  • 若网络无法访问Google仓库,可添加国内镜像仓库到repositories块:
    maven { url 'https://maven.aliyun.com/repository/google' }
    maven { url 'https://maven.aliyun.com/repository/public' }
    

4. 解决变体缺失问题

  • 先解决所有依赖解析错误,再执行File -> Sync Project with Gradle Files同步项目。
  • 清理Android Studio缓存:File -> Invalidate Caches... -> Invalidate and Restart,排除缓存导致的同步异常。

5. 网络代理检查

  • 打开Android Studio设置:File -> Settings -> Appearance & Behavior -> System Settings -> HTTP Proxy,确认代理配置正确(若使用代理),或切换为No proxy尝试直接连接。

内容的提问来源于stack exchange,提问作者Red Coder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:15:20