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

升级Dart SDK至3.1.2后,flutter_native_admob空安全问题致版本解析失败

解决Dart SDK 3.1.2与flutter_native_admob空安全依赖冲突问题

问题概述

升级Dart SDK到3.1.2版本后,执行依赖解析时触发报错:

Resolving dependencies...
The current Dart SDK version is 3.1.2.

Because Myapp depends on flutter_native_admob >=0.1.1+1 which doesn't support null safety, version solving failed.

The lower bound of "sdk: '>=2.0.0-dev.68.0 <3.0.0'" must be 2.12.0 or higher to enable null safety.
Process finished with exit code 1

核心原因是flutter_native_admob >=0.1.1+1未适配空安全,与Dart SDK 3.1.2的空安全强制要求不兼容,导致依赖版本解析失败。

可行解决方案

方案1:替换为官方支持空安全的广告包

flutter_native_admob已停止维护,推荐使用Google官方推出的google_mobile_ads包,该包完全支持空安全,且覆盖原生广告的全部核心功能。修改pubspec.yaml中的依赖配置:

dependencies:
  # 删除原flutter_native_admob依赖
  # flutter_native_admob: ^0.1.1+1
  google_mobile_ads: ^2.4.0 # 可根据pub.dev上的最新版本调整

替换后执行flutter pub get即可完成依赖更新。

方案2:临时启用混合空安全模式(不推荐长期使用)

若因业务需求暂时无法替换包,可尝试使用第三方维护的空安全分支版本,同时调整项目的SDK约束:

  1. 在pubspec.yaml中添加依赖覆盖:
dependency_overrides:
  flutter_native_admob:
    git:
      url: https://github.com/bdlukaa/flutter_native_admob.git
      ref: nullsafety
  1. 更新项目的SDK环境约束:
environment:
  sdk: '>=2.12.0 <4.0.0'

执行flutter pub get完成依赖解析,但此方案存在稳定性风险,建议尽快迁移到官方包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:46:11