如何为MAUI项目设置API级别

问题描述 投票:0回答:4

我从 dotnet maui 开始,目前文档非常差。 我有一个针对较旧 Android API 级别的现有项目,并为此准备了环境。当我尝试构建它时,出现错误,

error XA5207: Could not find android.jar for API level 31. This means the Android SDK platform for API level 31 is not installed. Either install it in the Android SDK Manager (Tools > Open Android SDK Manager...), or change the Xamarin.Android project to target an API version that is installed

我找不到更改 API 级别的选项。

编辑: 我可以找到一种方法来定位较新的版本,并将其添加为答案,但超过 30 岁的绰号仍未被识别,我收到错误,

NETSDKZZZZ: Error getting pack version: Pack 'Microsoft.Android.Ref.30' was not present in workload manifests.
.net .net-core maui
4个回答
6
投票

我认为最简单、最好的解决方案是实际安装所需的 SDK。这涉及到 target API 级别。我认为 .NET MAUI 应用程序现在的默认值是 31。

目前将应用程序提交到 Google Play 商店所需的最低 API 级别是 API 级别 30。

如果您仍想更改它,请在您的 csproj 文件中包含如下节点:

<TargetPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">30</TargetPlatformVersion>


1
投票

上面的建议是安装缺少的Android SDK。最好的方法是在 Visual Studio 2022 IDE 中安装所需/缺少的 Android SDK,而不是通过谷歌搜索如何执行此操作。为此,请访问工具 |安卓 | Android SDK 管理器菜单项:

enter image description here

之后,您将看到可能性列表。有时需要取消选中/应用,然后选中/应用来重新设置您的系统,但在大多数情况下,您只需检查列表中缺少的 SDK,然后单击“应用更改”即可下载它。

enter image description here


0
投票

对于任何尝试以更新的 API 级别为目标的人:

在 csproj 中设置

TargetPlatformVersion
版本似乎适用于较新的版本(>30)。

<TargetPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">32</TargetPlatformVersion>

0
投票

今天发现这个,目前(2024 年 7 月)最低 api 级别是 34。不知何故,我迁移到的 Xamarin.Forms 到 MAUI 项目在此属性中的级别为 21。

© www.soinside.com 2019 - 2024. All rights reserved.