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

Flutter集成Google Ads与Firebase版本冲突问题求助

解决Flutter中AdMob与Firebase的版本冲突问题

问题根源

手动添加高版本play-services-ads库时,与admob_flutter内置的Ads依赖、Firebase相关依赖(如firebase_messaging)存在版本兼容性冲突,导致应用启动崩溃;而低版本19.2.0因与现有Firebase依赖版本匹配,所以能正常运行。

解决方案

1. 用依赖约束统一版本,避免手动重复添加

不要直接在app/build.gradle中添加implementation 'com.google.android.gms:play-services-ads:21.5.0',而是通过resolutionStrategy强制统一Google Play Services和Firebase相关库的版本,确保兼容性:

android {
    // 保留原有配置
    configurations.all {
        resolutionStrategy {
            // 强制使用指定版本的Ads库
            force 'com.google.android.gms:play-services-ads:21.5.0'
            // 用Firebase BOM管理Firebase依赖版本,确保与Ads库兼容
            force 'com.google.firebase:firebase-bom:29.0.0'
        }
    }
}

2. 用Firebase BOM管理Firebase依赖

在app/build.gradle的dependencies块中引入Firebase BOM,无需再单独指定Firebase库的版本,BOM会自动维护版本兼容性:

dependencies {
    // 其他依赖
    implementation platform('com.google.firebase:firebase-bom:29.0.0')
    implementation 'com.google.firebase:firebase-messaging'
    // 无需手动添加firebase_core版本,BOM会统一管理
}

3. 确认依赖树,排查重复依赖

运行以下命令查看项目依赖树,确认admob_flutter是否已内置play-services-ads:

flutter pub deps

如果admob_flutter已包含该依赖,手动添加会导致重复依赖冲突,此时用步骤1的resolutionStrategy强制统一版本即可。

4. 彻底清理并重建项目

执行以下操作清除缓存并重新构建:

  • 运行flutter clean
  • 删除android/.gradle文件夹(可选,彻底清理gradle缓存)
  • 运行flutter pub get
  • 重新编译运行应用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:20:51