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

给Google新架构模板加Crashlytics遇Gradle插件版本冲突求解决

解决Gradle Kotlin DSL项目添加Crashlytics时的插件版本冲突问题

核心原因

你遇到的报错是因为Google的architecture-templates项目采用了**版本catalog(libs.versions.toml)**统一管理插件和依赖版本,而Firebase官方指南的步骤可能让你手动指定了com.android.application的版本,导致Gradle检测到版本冲突,无法协调类路径中已存在的未知版本插件。

具体解决步骤

  • 改用版本catalog引用插件
    打开项目根目录的libs.versions.toml,确认[plugins]区块下有对应插件的版本定义(如果没有,添加即可):

    [plugins]
    androidApplication = { id = "com.android.application", version = "7.3.1" }
    googleServices = { id = "com.google.gms.google-services", version = "4.4.0" }
    googleCrashlytics = { id = "com.google.firebase.crashlytics", version = "2.9.9" }
    

    然后在模块级build.gradle.kts的plugins块中,用alias引用插件,不要手动指定版本:

    plugins {
        alias(libs.plugins.androidApplication)
        alias(libs.plugins.kotlinAndroid)
        // 添加Crashlytics插件
        alias(libs.plugins.googleCrashlytics)
    }
    
  • 修正根项目的插件类路径配置
    根目录的build.gradle.kts中,确保插件都是通过catalog引用并设置apply false,避免重复加载:

    plugins {
        alias(libs.plugins.androidApplication) apply false
        alias(libs.plugins.kotlinAndroid) apply false
        alias(libs.plugins.googleServices) apply false
        alias(libs.plugins.googleCrashlytics) apply false
    }
    
  • 清理缓存并同步项目

    1. 点击Android Studio右上角的Sync Project with Gradle Files按钮完成同步
    2. 如果报错仍然存在,执行File > Invalidate Caches... > Invalidate and Restart,清理Gradle缓存后重新同步

额外注意

不要在plugins块中直接写id("com.android.application") version "x.x.x",所有插件版本都通过libs.versions.toml统一管理,这也是architecture-templates项目的设计规范,能从根源避免版本冲突问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 13:34:38