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

升级com.google.gms:google-services:3.2.0后Android Studio构建因StackOverflowError失败

解决google-services插件升级到3.2.0后的StackOverflowError问题

嘿,我之前也踩过这个坑!当把com.google.gms:google-services从3.1.1升级到3.2.0时,确实会触发这个StackOverflowError,本质是插件版本和项目的Gradle环境不兼容,导致了循环调用的问题。下面是几个亲测有效的解决办法:

1. 匹配Android Gradle Plugin(AGP)版本

google-services插件和AGP版本有严格的兼容性要求:

  • google-services 3.2.0 需要搭配 AGP 3.0.0 及以上版本(但别用太新的AGP,比如4.x+可能也会有适配问题)
  • 打开项目根目录的build.gradle,检查并调整com.android.tools.build:gradle的版本:
    buildscript {
        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.1' // 确保版本和google-services匹配
            classpath 'com.google.gms:google-services:3.2.0'
        }
    }
    

2. 彻底清理缓存并重构

缓存残留经常会引发这类奇怪的构建错误,执行以下命令清理:

  • 对于Mac/Linux:
    ./gradlew clean build --refresh-dependencies
    
  • 对于Windows:
    gradlew.bat clean build --refresh-dependencies
    

执行完后重启Android Studio,再尝试构建。

3. 统一Firebase依赖版本

如果项目中使用了Firebase相关依赖,要确保所有Firebase库的版本和google-services插件版本匹配。比如:

dependencies {
    implementation 'com.google.firebase:firebase-auth:11.8.0' // 该版本与google-services 3.2.0对应
    implementation 'com.google.firebase:firebase-database:11.8.0'
}

注意:google-services 3.2.0对应的Firebase版本是11.8.0左右,不要混用不同版本的Firebase库。

4. 调整google-services插件版本

如果上面的方法都无效,可以尝试:

  • 暂时降级回com.google.gms:google-services:3.1.1,确保项目能正常构建
  • 或者升级到更高版本的插件,比如3.3.0,这个版本修复了不少3.2.0的兼容性问题

你遇到的错误信息:
Caused by: java.lang.StackOverflowError at org.gradle.api.internal.DefaultDomainObjectCollection.isEmpty(DefaultDomainObjectCollection.java:246) at org.gradle.api.internal.CompositeDomainObjectSet$DomainObjectCompositeCollection.isEmpty(CompositeDomainObjectSet.java:172) at org.gradle.api.internal.CompositeD...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:42:59