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

Flutter降级后Geolocator出现编译警告错误的求助

问题描述

将Flutter从3.3.7升级至3.10.2后降级回原版本,出现Geolocator依赖编译错误,具体错误信息如下:

C:\flutter.pub-cache\hosted\pub.dartlang.org\geolocator_android-3.2.1\android\src\main\java\com\baseflow\geolocator\GeolocatorLocationService.java:134: warning: [deprecation] stopForeground(boolean) in Service has been deprecated
stopForeground(true);
^
error: warnings found and -Werror specified
C:\flutter.pub-cache\hosted\pub.dartlang.org\geolocator_android-3.2.1\android\src\main\java\com\baseflow\geolocator\permission\PermissionUtils.java:27: warning: [deprecation] getPackageInfo(String,int) in PackageManager has been deprecated
.getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS);
^

执行任务:geolocator_android:compileDebugJavaWithJavac失败,已尝试升级/降级依赖、flutter clean操作,问题未解决。

解决方案
  • 指定适配Flutter 3.3.7的Geolocator版本
    在pubspec.yaml中明确指定与Flutter 3.3.x兼容的Geolocator版本,例如:

    dependencies:
      geolocator: ^9.0.2
    

    执行flutter pub get后,再运行flutter clean重新编译项目。

  • 禁用Android编译的警告转错误机制
    在android/build.gradle的android代码块中添加配置,忽略lint错误:

    android {
        // 其他配置
        lintOptions {
            abortOnError false
        }
    }
    
  • 彻底清理pub缓存并重新拉取依赖
    执行以下命令清除旧缓存依赖,重新下载适配当前环境的包:

    flutter pub cache clean
    flutter pub get
    
  • 确认Flutter环境完全降级
    执行flutter --version确认版本为3.3.7,若降级不彻底,可删除现有Flutter SDK,重新安装3.3.7版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 10:57:34