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

Flutter使用GeoLocator ^8.2.1报android.enableR8废弃错误如何解决

geolocator_android模块R8配置废弃导致Gradle同步失败修复方案
  • 方案1:依赖覆盖锁定无问题版本(推荐,不会随缓存清理失效)
    打开项目根目录的pubspec.yaml文件,在末尾添加如下配置,强制将传递依赖的geolocator_android版本锁定到已修复该问题的版本:
    dependency_overrides:
      geolocator_android: ^3.2.3
    
    保存后在终端执行flutter pub get拉取依赖,再重新打开Android模块执行Gradle同步即可。该版本的geolocator_android已经移除了gradle.properties中废弃的android.enableR8=true配置项,不会再触发该报错。
  • 方案2:修改本地Pub缓存中的模块配置(临时方案)
    找到本地Flutter Pub缓存路径下对应的geolocator_android模块目录,通常路径为:

    Windows:C:\Users\你的用户名\AppData\Local\Pub\Cache\hosted\pub.dev\geolocator_android-对应版本号\android
    macOS/Linux:~/.pub-cache/hosted/pub.dev/geolocator_android-对应版本号/android
    打开目录下的gradle.properties文件,删除其中的android.enableR8=true配置行,保存后回到项目重新同步Gradle即可。
    注意:该方案为临时修复,执行flutter pub cache repair、重新拉取依赖或切换开发环境后修改会失效,需要重复操作。

  • 方案3:升级geolocator主依赖版本
    直接将pubspec.yaml中的geolocator依赖版本升级到^9.0.0及以上,高版本geolocator默认依赖的geolocator_android已经修复了该配置问题。需要注意大版本升级存在API变动,需要同步适配部分权限相关、位置获取相关的接口调用逻辑。

补充说明:该报错来自geolocator_android模块自身的配置文件,仅修改主项目的gradle.properties无法解决问题,必须处理对应依赖模块内的废弃配置项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 05:57:37