You need to enable JavaScript to run this app. Flutter使用geolocator获取定位出现MissingPluginException报错如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Flutter使用geolocator获取定位出现MissingPluginException报错如何解决

Flutter geolocator定位触发MissingPluginException解决方案

基础问题排查

  • 首先修正代码拼写错误:你当前代码中Geolocato拼写错误,缺少末尾的字母r,修正后的代码如下:
Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
  • 确认你使用的geolocator版本适配Flutter 2.12稳定版,优先选择8.x系列版本,该版本对Flutter 2.x适配性最优
  • 执行命令清除构建缓存并重新拉取依赖:
flutter clean
flutter pub get
  • 完全卸载测试设备上的旧应用后重新编译运行,热重载/热更新场景下可能不会重新注册原生插件,会触发该类报错

Android端专项校验

  • 确认android/app/src/main/AndroidManifest.xml中已添加定位权限声明:
<!-- 基础定位权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- Android 10及以上后台定位需额外添加以下权限,按需配置 -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
  • 确认android/build.gradle中的kotlin版本不低于1.5.0,低版本kotlin会导致geolocator原生实现无法正常注册

iOS端专项校验

  • 确认ios/Runner/Info.plist中已添加定位权限声明:
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要访问位置信息以提供定位服务</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>需要访问位置信息以提供后台定位服务</string>
  • 确认iOS项目最低部署版本不低于12.0,高版本geolocator仅支持iOS 12.0及以上系统

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 23:36:03