首页 > 解决方案 > 由于这个错误,使用 intellij idea 无法构建

问题描述

在调试模式下在 Redmi Note 8 上启动 lib\main.dart... 运行 Gradle 任务 'assembleDebug'... C:\flutter.pub-cache\hosted\pub.dartlang.org\geolocator_android-2.1.0\android\ src\main\java\com\baseflow\geolocator\location\LocationMapper.java:29:错误:找不到符号 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { ^ 符号:变量 S 位置:类 VERSION_CODES C:\flutter.pub-cache\hosted\pub.dartlang.org\geolocator_android-2.1.0\android\src\main\java\com\baseflow\geolocator\location\LocationMapper.java:30:错误:找不到符号position.put("is_mocked", location.isMock()); ^ 符号:方法 isMock() 位置:位置 2 错误类型的变量位置

FAILURE:构建失败并出现异常。

编译失败;有关详细信息,请参阅编译器错误输出。

BUILD FAILED in 1m 9s Exception: Gradle task assembleDebug failed with exit code 1

标签: flutter

解决方案


要解决此问题,您需要将 build.gradle 更新为:

... android { compileSdkVersion 31 ...

我遇到过同样的问题。在此处查看地理定位器包的变更日志。

  • 将 geolocator_android 的依赖更新到 2.0.0 版
  • 确保 Android 示例应用针对 Android SDK 31 进行编译。

https://pub.dev/packages/geolocator/changelog


推荐阅读