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

升级到Flutter 2.5.1后项目无法构建,geolocator_android编译报错如何解决

问题原因
  • 报错出自项目依赖的geolocator_android 2.0.0版本:该版本完成了Android 12(API等级31,系统代号S)的适配,你的项目当前Android编译SDK版本低于31,无法识别高版本SDK才有的常量和方法,触发编译失败:
    • 找不到Build.VERSION_CODES.S常量:API 31以下的Android SDK未定义该常量
    • 找不到isMock()方法:该方法是Android 12才新增的Location类成员方法,低版本SDK不存在对应接口
  • Flutter升级到2.5.1后,依赖解析规则变化,自动拉取了geolocator_android的2.0.0版本,和原有Android编译配置不匹配,是问题的触发点。
解决方法

方案1:升级Android编译SDK版本(推荐)

  • 打开Flutter项目下的android/build.gradle文件,找到compileSdkVersion配置项,将数值修改为31或更高
  • 若修改后仍有兼容报错,可同步将targetSdkVersion也调整为31,重新执行构建即可正常运行

方案2:锁定geolocator_android低版本

如果暂时无法升级编译SDK,可通过依赖覆盖强制使用兼容低版本SDK的插件版本:

  • 打开项目根目录的pubspec.yaml文件,添加dependency_overrides配置如下:
dependency_overrides:
  geolocator_android: 1.0.2
  • 保存后执行flutter pub get重新拉取依赖,再执行构建即可解决报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:09:00