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

升级Android Studio Canary后添加Firebase UI遇Manifest合并失败

解决Manifest合并失败:Support库版本冲突问题

这个问题我之前也碰到过,本质上是不同依赖库引入的Android Support库版本不一致导致的Manifest合并冲突——你的项目里com.android.support:customtabs:26.0.1和com.android.support:design:26.1.0各自在Manifest中声明了android.support.VERSION的元数据,版本号不统一就触发了合并错误。

给你两种可行的解决方案,第二种更推荐,能从根源避免后续类似问题:

方案一:按提示用tools:replace强制覆盖

  1. 先确认你的AndroidManifest.xml根标签manifest已经引入了tools命名空间,没有的话加上:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="你的包名">
  1. 在Manifest中添加或修改meta-data元素,指定要使用的版本并加上覆盖属性:
<meta-data
    android:name="android.support.VERSION"
    android:value="26.1.0" <!-- 推荐用更高的26.1.0版本 -->
    tools:replace="android:value" />

这样就能强制让合并工具使用你指定的版本,忽略依赖库带来的重复声明。

方案二:统一所有Support库版本(更推荐)

这种方法能彻底避免版本不一致的问题,步骤如下:

  1. 打开项目根目录下的build.gradle,在buildscript块里添加全局版本变量:
buildscript {
    ext {
        supportLibVersion = "26.1.0"
    }
    // 其他原有内容(比如repositories、dependencies)保持不变
}
  1. 切换到app模块的build.gradle,把所有Support库依赖都改成用这个变量引用:
// 示例:原来的依赖可能是分开写不同版本,现在统一成变量
implementation "com.android.support:design:$supportLibVersion"
implementation "com.android.support:customtabs:$supportLibVersion"
// 其他如appcompat、recyclerview等Support库也同理替换版本号

这样所有依赖的Support库都会使用同一版本,Manifest合并时就不会再出现版本冲突了。

补充说明

Firebase UI依赖的Support库版本可能和你项目中已有的不一致,这是这类冲突的常见诱因。统一版本的方式不仅能解决当前问题,还能避免后续引入其他依赖时再次出现类似的Manifest合并错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:21:36