现有 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
构建失败的原因是:
-
这个新的 AndroidX 依赖项需要 AndroidcompileSdkVersion 为 31 或更高版本。
-
它还需要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(使用前将#替换为@)