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
相关产品推荐
相关产品推荐

