“flutter 升级”到 2.10 后 Flutter 构建失败

2024-02-17

现有 Flutter 项目升级到 2.10 后,出现以下构建异常的原因是什么?

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Multiple task action failures occurred:
   > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
      > The minCompileSdk (31) specified in a
        dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
        is greater than this module's compileSdkVersion (android-30).
        Dependency: androidx.window:window-java:1.0.0-beta04.
        AAR metadata file: C:\Users\Blah\.gradle\caches\transforms-2\files-2.1\602ce26881e3b92788ae83c190d3c36f\jetified-window-java-1.0.0-beta04\META-INF\com\android\build\gradle\aar-metadata.properties.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
      > The minCompileSdk (31) specified in a
        dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
        is greater than this module's compileSdkVersion (android-30).
        Dependency: androidx.window:window:1.0.0-beta04.
        AAR metadata file: C:\Users\Blah\.gradle\caches\transforms-2\files-2.1\9520e6f13992d2f4d96b17b856330597\jetified-window-1.0.0-beta04\META-INF\com\android\build\gradle\aar-metadata.properties.

Flutter 2.10 通过 AndroidX 支持可折叠设备

颤振2.10添加了对可折叠 Android 设备的支持 https://docs.flutter.dev/release/breaking-changes/kotlin-version.

这依赖于 Android SDK API 版本 31AndroidX 库 https://developer.android.com/jetpack/androidx依赖项:androidx.window:window-java:1.0.0

构建失败的原因是:

  1. 这个新的 AndroidX 依赖项需要 AndroidcompileSdkVersion 为 31 或更高版本。

  2. 它还需要kotlin_version of 1.5.31或更高。

因此现有的 Flutter/Android 项目可能需要一些 gradle 文件更改:

android/build.gradle:

  • bump ext.kotlin_version至少到1.5.31 (1.6.10自 2022 年 2 月起可用)
buildscript {
    ext.kotlin_version = '1.5.31'

android/app/build.gradle

  • bump compileSdkVersion to 31或更高
android {
    compileSdkVersion 31

如果您没有安装 Android 12 SDK(API 级别 31)...

在 Android Studio 中安装和使用 SDK API 31 (Android 12)

在 Android Studio 中

  • 转到工具 > SDK 管理器 > 勾选/选中 Android 12 (S) API Level 31 > 单击“确定”按钮 > 等待下载/安装

平台和项目设置

接下来,我们需要将 Android SDK API 31 添加到两个平台设置下的项目结构中and项目设置

  • Android Studio > 文件 > 项目结构
  • Under 平台设置 click SDKs
  • 在中间一列中单击+图标按钮,选择“添加 Android SDK..”
  • You will be prompted to select an Android SDK directory
    • 选择您的 Android SDK根目录 like C:\Android\Sdk
    • do not选择特定的 API 版本,例如C:\Android\Sdk\platforms\android-31。这将被拒绝。
  • 将弹出“创建新的 Android SDK”窗口。
  • 默认情况下,将预先选择 Java SDK 11 和构建目标:Android API 31。如果没有,请选择它们。
  • 单击“确定”。
  • Android API 31 平台现已可供您的项目使用。
  • 现在下Project Settings, 点击Project
  • 在右下方项目SDK:
  • 单击下拉列表
  • Select Android API 31 平台
  • Click OK
  • 我们完成了。

Android 12 SDK API 31 现已安装并准备好编译此项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“flutter 升级”到 2.10 后 Flutter 构建失败 的相关文章

随机推荐