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

如何修复Android Studio接入Firebase时的Manifest合并失败错误?

解决Android项目中Support库与AndroidX的依赖冲突问题

这个问题的核心很明确:你的项目同时混用了旧版Android Support Library(com.android.support开头)和AndroidX库,这两套库完全不兼容,Manifest合并自然会失败。下面给你两种解决方案,优先推荐第一种:

方案一:完全迁移到AndroidX(官方推荐)

Google早在几年前就停止了Support Library的维护,所有新特性和bug修复都集中在AndroidX上,所以迁移是长期来看最稳妥的选择。

  • 第一步:开启AndroidX和自动转换
    在项目根目录的gradle.properties文件中添加或确保以下配置存在:

    android.useAndroidX=true
    android.enableJetifier=true
    

    android.enableJetifier=true会自动将所有第三方依赖中的Support库转换为对应的AndroidX版本,不用你手动修改每一个依赖,非常省心。

  • 第二步:替换项目中手动引入的Support库
    把你自己在build.gradle(Module级别)里写的com.android.support依赖,换成对应的AndroidX版本。比如你用到的cardview-v7:28.0.0,对应的AndroidX依赖是androidx.cardview:cardview:1.0.0(也可以用最新的稳定版本)。

  • 第三步:同步并重构项目
    点击Android Studio右上角的"Sync Now"同步Gradle,然后依次执行Build -> Clean Project和Build -> Rebuild Project,清理旧的构建缓存后重新编译。

方案二:统一使用Support库(临时方案)

如果暂时不想迁移到AndroidX,你需要确保所有依赖都使用Support库版本,替换掉冲突的AndroidX依赖:

  • 找到冲突的AndroidX依赖(这里是androidx.swiperefreshlayout:swiperefreshlayout:1.0.0),换成对应的Support库版本:com.android.support:swiperefreshlayout:28.0.0,和你现有的cardview-v7版本保持一致。
  • 确保你的targetSdkVersion设置为28(和Support库版本匹配),在Module的build.gradle中:
    android {
        targetSdkVersion 28
        // 其他配置...
    }
    

    注意:这个方案有局限性,因为很多最新版的Firebase库已经不再支持Support Library,后续升级依赖可能会遇到更多问题。

额外排查技巧

如果不确定哪些依赖引入了冲突的库,可以用Gradle的依赖分析命令:

  • 在Android Studio的Terminal中执行:
    ./gradlew app:dependencies # Mac/Linux
    # 或者Windows系统:
    gradlew.bat app:dependencies
    
    查看输出的依赖树,找到引入androidx.swiperefreshlayout或com.android.support:cardview-v7的来源,就能针对性地调整依赖版本或排除冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:16:25