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

编译Android项目时Google Play服务依赖版本冲突问题求助

解决Google Play服务依赖版本冲突问题

这个问题是典型的Firebase/FirebaseUI与Google Play服务(GMS)依赖版本不兼容导致的版本冲突——你当前混用了不同版本的Firebase核心库、FirebaseUI和GMS库,导致依赖解析时出现版本不匹配的情况。下面给你两种可行的解决方案:

方案一:降级Firebase库适配现有FirebaseUI版本

你当前使用的com.firebaseui:firebase-ui:3.3.1是3.x版本,这个版本要求所有Firebase核心库和GMS库统一使用15.x系列版本,但你引入了16.x的Firebase库(比如firebase-database:16.0.6、firebase-analytics:16.3.0),这直接触发了冲突。按以下步骤修改:

  1. 统一Firebase核心库版本到15.0.0
    修改app/build.gradle中的依赖,把所有Firebase库替换为15.0.0版本:

    // 替换前
    implementation 'com.google.firebase:firebase-database:16.0.6'
    implementation 'com.google.firebase:firebase-analytics:16.3.0'
    
    // 替换后
    implementation 'com.google.firebase:firebase-database:15.0.0'
    implementation 'com.google.firebase:firebase-analytics:15.0.0'
    
  2. 移除重复的Support库依赖
    你的依赖中重复引入了cardview-v7,删除旧版本的那一行:

    // 删除这一行
    implementation 'com.android.support:cardview-v7:23.3.0'
    
  3. 添加GMS/Firebase版本统一规则
    在现有的configurations.all块中,加入GMS和Firebase的版本强制统一:

    configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
            def requested = details.requested
            // 统一Support库版本
            if (requested.group == 'com.android.support') {
                if (!requested.name.startsWith("multidex")) {
                    details.useVersion '27.1.1'
                }
            }
            // 统一GMS库版本为15.0.1
            if (requested.group == 'com.google.android.gms') {
                details.useVersion '15.0.1'
            }
            // 统一Firebase库版本为15.0.0
            if (requested.group == 'com.google.firebase') {
                details.useVersion '15.0.0'
            }
        }
    }
    

方案二:升级FirebaseUI适配新版本Firebase库

如果你想保留16.x的Firebase库,需要将FirebaseUI升级到兼容的版本(比如4.3.1,该版本适配Firebase 16.x系列),步骤如下:

  1. 升级FirebaseUI版本
    修改app/build.gradle中的FirebaseUI依赖:

    // 替换前
    implementation 'com.firebaseui:firebase-ui:3.3.1'
    
    // 替换后
    implementation 'com.firebaseui:firebase-ui:4.3.1'
    

    (注:FirebaseUI 4.x要求compileSdkVersion至少为28,如果你的项目允许,可以将compileSdkVersion和targetSdkVersion从27改为28)

  2. 统一所有Firebase库到16.x的兼容版本
    确保所有Firebase核心库版本一致,比如:

    implementation 'com.google.firebase:firebase-database:16.0.6'
    implementation 'com.google.firebase:firebase-analytics:16.3.0'
    
  3. 更新GMS版本统一规则
    在configurations.all块中,将GMS版本统一为对应16.x的版本:

    if (requested.group == 'com.google.android.gms') {
        details.useVersion '16.0.1'
    }
    

最后验证步骤

修改完成后,执行以下操作确保编译正常:

  • 点击Android Studio的Sync Now同步Gradle配置
  • 清理项目缓存:在终端执行 ./gradlew clean
  • 重新编译项目:./gradlew assembleDebug

如果还是有问题,可以执行提示的命令查看详细依赖路径:./gradlew --info :app:assembleDebug,定位剩余的冲突依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:28:13