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

添加Geolocator包后Flutter应用无法运行如何解决?

Flutter Geolocator 运行报错解决方案

问题原因

最新版Geolocator依赖要求Android端compileSdkVersion最低为33,你当前项目android/app/build.gradle中配置的compileSdk版本低于该要求,因此触发编译报错。

解决步骤

  • 第一步:修改build.gradle配置
    打开android/app/build.gradle文件,调整compileSdk和targetSdk版本为33及以上,参考配置如下:
    android {
        // 将原有compileSdkVersion数值修改为33
        compileSdkVersion 33 
    
        defaultConfig {
            // 同步修改targetSdkVersion为33,避免运行时兼容问题
            targetSdkVersion 33
            // 其余原有配置保持不变即可
        }
    }
    
  • 第二步:补充运行时权限请求逻辑
    仅在AndroidManifest中配置权限不足以获取位置,Android 6.0及以上系统需要动态申请位置权限,调整你的获取位置代码如下:
    void getLocation() async {
      // 先检查位置权限状态
      LocationPermission permission = await Geolocator.checkPermission();
      if (permission == LocationPermission.denied) {
        // 权限未授予,主动申请权限
        permission = await Geolocator.requestPermission();
        if (permission == LocationPermission.denied) {
          print("位置权限被用户拒绝,无法获取位置信息");
          return;
        }
      }
      if (permission == LocationPermission.deniedForever) {
        print("位置权限被永久拒绝,请前往系统应用设置页手动开启权限");
        return;
      }
      // 权限已授予,正常获取位置
      Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.low);
      print(position);
    }
    
  • 第三步:清理缓存重新构建
    执行以下命令清理项目缓存,重新拉取依赖后运行即可:
    flutter clean
    flutter pub get
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:18:03