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

升级Google Services至v15后部署Android应用出现异常求助

解决升级Google Services到v15.0.0后的Desugar IllegalArgumentException错误

嘿,我之前在升级Google Services版本时也碰到过几乎一模一样的问题,这本质是Desugar工具和新版Google Services的字节码兼容性问题,给你几个经过验证的解决方案:

  • 升级Desugar工具版本
    旧版本的Desugar无法正确处理新版Google Services里的字节码特性(比如默认方法的新实现),你需要在项目的build.gradle中明确指定最新的Desugar依赖:

    android {
        compileOptions {
            coreLibraryDesugaringEnabled true // 确保开启Desugar
        }
    }
    
    dependencies {
        coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' // 使用最新稳定版
    }
    

    这个版本的Desugar已经修复了不少字节码解析的bug,能适配v15.0.0的Google Services。

  • 同步升级Android Gradle Plugin(AGP)
    Google Services v15.0.0对AGP版本有最低要求,如果你还在用旧版AGP(比如3.x系列),肯定会出现兼容性问题。建议把AGP升级到7.x及以上:

    buildscript {
        repositories {
            google()
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:7.4.2' // 适配的AGP版本
            classpath 'com.google.gms:google-services:15.0.0'
        }
    }
    

    记得同步gradle后重启Android Studio,避免缓存问题。

  • 清理项目缓存并重新构建
    旧的构建缓存经常会导致奇怪的字节码冲突,执行以下命令彻底清理:

    ./gradlew clean
    ./gradlew build --refresh-dependencies
    

    或者在Android Studio里点击File -> Invalidate Caches... -> Invalidate and Restart,强制刷新所有缓存。

  • 排查依赖冲突(重点看Guava库)
    错误栈里提到了com.google.common.base.Preconditions,这是Guava的类。有时候第三方库会引入旧版本的Guava,和Google Services自带的新版Guava冲突,导致参数检查失败。你可以用./gradlew dependencies查看依赖树,找到冲突的Guava依赖,然后排除旧版本:

    implementation('com.google.firebase:firebase-messaging:15.0.0') { // 替换成你用的Google Services组件
        exclude group: 'com.google.guava', module: 'guava'
    }
    

按照上面的步骤一步步试,应该能解决这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:48:51