flutter - 由于这个错误,使用 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:构建失败并出现异常。
- 出了什么问题:任务 ':geolocator_android:compileDebugJavaWithJavac' 执行失败。
编译失败;有关详细信息,请参阅编译器错误输出。
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
在https://help.gradle.org获得更多帮助
BUILD FAILED in 1m 9s Exception: Gradle task assembleDebug failed with exit code 1
解决方案
要解决此问题,您需要将 build.gradle 更新为:
... android { compileSdkVersion 31 ...
我遇到过同样的问题。在此处查看地理定位器包的变更日志。
- 将 geolocator_android 的依赖更新到 2.0.0 版
- 确保 Android 示例应用针对 Android SDK 31 进行编译。
推荐阅读
- javascript - 设置状态导致 TypeError: this is undefined
- java - 参数中的 Java 语法
- powershell - (Get-Date).ToUniversalTime() 转换为字符串但不更改格式
- java - 在 Android Things 中使用 SharedPreferences
- mysql - 想用两个请求值查找
- javascript - 在异步存储中保存和删除每周计划反应原生
- python - 从多个文件中删除多行
- django - 为什么这种情况不起作用?- 如果在模板中
- sql - 比较两列的字符串
- mysql - MySQL SELECT-query:在查询中使用 MIN()-function 时如何获得正确的 ID?