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

集成firebase_admob后Flutter构建APK失败(AndroidX兼容问题)

解决Firebase AdMob导致Flutter APK构建失败的AndroidX兼容性问题

根据你的描述,移除firebase_admob依赖后构建立刻恢复正常,且报错指向AndroidX兼容性问题,结合你已经尝试过的flutter doctor --android-licenses和flutter clean操作,我整理了几个针对性的解决方案:

1. 升级Firebase AdMob依赖到兼容AndroidX的新版本

你当前使用的firebase_admob: ^0.9.0+9是比较老旧的版本,这个版本对AndroidX的支持存在缺陷,很大概率是构建失败的核心原因。建议你将依赖升级到最新的稳定版本:

  • 打开pubspec.yaml,把firebase_admob: ^0.9.0+9替换为当前最新的稳定版本(比如firebase_admob: ^0.11.0+1,你可以根据实际发布情况调整)
  • 执行命令:flutter pub get

2. 确认AndroidX相关配置完整生效

虽然你在pubspec.yaml中设置了module: androidX: true,但还需要检查Android项目的底层配置,确保Jetifier能正常工作:

  • 打开android/gradle.properties文件,确认以下两行配置都存在且为true:
    android.useAndroidX=true
    android.enableJetifier=true
    
  • 打开android/app/build.gradle,确认compileSdkVersion和targetSdkVersion设置为30(和你的Android SDK版本匹配):
    android {
        compileSdkVersion 30
        defaultConfig {
            targetSdkVersion 30
            // 其他项目配置...
        }
    }
    

3. 执行彻底的清理重构流程

缓存文件经常会导致依赖冲突无法被正确处理,建议执行以下完整流程:

  • 执行命令:flutter clean
  • 手动删除android/.gradle文件夹(这个文件夹会缓存旧的依赖配置,删除后会重新生成)
  • 执行命令:flutter pub get
  • 再次尝试构建:flutter build apk --release

4. 排查其他依赖的AndroidX冲突

如果上述操作后还是失败,可以检查是否有其他依赖还在使用旧的Android Support库,导致Jetifier无法完全兼容:

  • 执行命令:flutter pub deps,查看所有依赖的树状结构,找出使用Support库的老旧插件
  • 将这些老旧插件也升级到支持AndroidX的版本,再重新构建

另外补充一点:你的Flutter版本是1.20.4(2020年的稳定版),相对比较老旧,新版本Flutter对AndroidX的支持更加成熟,如果以上方案都无效,可以考虑升级Flutter到较新的稳定版本(升级前记得备份项目)。

内容的提问来源于stack exchange,提问作者Agustinus Biotamalo Lumbantoru

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 09:02:29