如何为.NET MAUI项目设置Android API级别及解决相关构建报错
.NET MAUI 构建报错解决方案
问题场景
刚上手.NET MAUI,手里有个目标旧版Android API的项目,环境都搭好了,但构建时接连报错:
- 首次报错:
error XA5207: 找不到API级别31的android.jar。这意味着未安装API级别31的Android SDK平台。请在Android SDK管理器中安装它(工具 > 打开Android SDK管理器...),或者将Xamarin.Android项目更改为目标已安装的API版本
找不到修改API级别的地方。
- 后续补充报错:
试着适配新版本后,API级别低于30的标识符识别不了,又出现:
NETSDKZZZZ: 获取包版本时出错:工作负载清单中不存在包“Microsoft.Android.Ref.30”
解决步骤
一、搞定XA5207报错
.NET MAUI对Android API有最低要求,直接降级容易出问题,优先装对应SDK:
- 打开Visual Studio,点工具 > Android > Android SDK管理器
- 切换到SDK平台标签,找到API 31的选项勾选,点应用完成安装
- 重启项目再构建试试
如果一定要改目标API级别(得符合MAUI的最低要求),直接改项目文件:
- 右键项目选编辑项目文件(.csproj)
- 找到
<TargetFramework>节点,比如原来的net7.0-android33,改成你已安装的API级别,比如net7.0-android30 - 同步修改
<AndroidTargetSdkVersion>、<AndroidCompileSdkVersion>这几个节点的数值,保存后重新加载项目
二、解决NETSDKZZZZ报错
这个是因为MAUI工作负载里缺了对应API的引用包,按下面操作:
- 开管理员权限的命令提示符,运行:
dotnet workload repair - 如果修复没用,手动装Android工作负载组件:
dotnet workload install android --from-rollback-file https://aka.ms/dotnet-android-rollback-latest.json - 或者打开Visual Studio的工具 > 获取工具和功能,确认对应.NET版本的MAUI工作负载和Android组件都装全了
内容的提问来源于stack exchange,提问作者Code Name Jack
相关产品推荐
相关产品推荐

