【问题标题】:Can't build after upgrading to Flutter 2.5.1升级到 Flutter 2.5.1 后无法构建
【发布时间】:2021-11-28 02:16:35
【问题描述】:

升级到 Flutter 2.5.1 后,我的项目停止构建和运行,出现以下错误:

/Users/admin/Flutter/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator_android-2.0.0/android/src/main/java/com/baseflow/geolocator/location/LocationMapper.java :29: 错误: 找不到符号 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { ^

符号:变量 S 位置:类 VERSION_CODES /Users/admin/Flutter/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator_android-2.0.0/android/src/main/java/com/baseflow/geolocator/location/LocationMapper.java:30:错误:找不到符号 position.put("is_mocked", location.isMock()); ^ 符号:方法 isMock() location:Location 类型的变量位置 2 个错误

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

出了什么问题: 任务 ':geolocator_android:compileDebugJavaWithJavac' 执行失败。 编译失败;有关详细信息,请参阅编译器错误输出。

有什么想法吗?

【问题讨论】:

    标签: flutter


    【解决方案1】:

    您必须已将 Geolocator 升级到版本 7.7.0,这意味着您还需要更新您的 android/app/build.gradle 文件并将 compileSdkVersion 设置为 31(在 CHANGELOG 中提到过)。

    如果您不想升级 Android compileSdkVersion,您应该在您的 pubspec.yaml 中将 geolocator 降级到版本 7.6.2。

    【讨论】:

    • 其实升级 compileSdkVersion 到 31 解决了 geolocator 的问题,但也导致了另一个问题
    • 还有什么问题?
    • 如果compileSdkVersion 31 导致很多问题,请尝试将geo locator 降级到7.6.2 或更低版本。 7.6.2以上所有版本要求sdk版本为31
    【解决方案2】:

    也许你的版本没有用你的包升级

    以下命令将帮助您:

    flutter pub get

    【讨论】:

    • 没有工作,即使在 flutter clean
    【解决方案3】:

    我刚刚升级了我的项目并遇到了这个问题:

    也许这对你有用:

    在终端中运行这些命令:

    dart pub downgrade geolocator_android
    
    dart pub downgrade geolocator
    

    另一种方法是将编译和目标 Android 版本设置为 31。 但我暂时不推荐它,因为这会导致您遇到许多其他问题。

    【讨论】:

      【解决方案4】:

      该错误是因为 Geolocator 7.7.0 及更高版本的 compileSdkVersion 需要更改为 31。

      您可以在 android/app/build.gradle 文件中执行此操作。但我不推荐它,因为它会导致其他软件包出现更多错误。

      相反,您可以在 pubspec.yaml 中将 Geolocator 降级到 7.6.2

      或者使用这些命令降级:

      dart pub downgrade geolocator
      

      【讨论】:

      • 当我们将 compileSdkVersion 更改为 31 时仍然相同。它仍然给出相同的错误
      • Michael,你试过降级软件包吗?进行更改后也使用flutter clean和pub get
      • 如果您使用 CompileSdk 31 制作包,请确保示例应用的编译 SDK 也设置为 31
      猜你喜欢
      • 2022-08-11
      • 2021-08-18
      • 2022-07-16
      • 2022-10-05
      • 2021-04-02
      • 2021-01-21
      • 2018-08-21
      • 2020-09-15
      • 1970-01-01
      相关资源
      最近更新 更多