You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maui Blazor安卓编译报错求助:Windows正常,安卓遇APT200/APT2062错误

MAUI Blazor Android编译错误:APT200/APT2062与XA1036解决指南

一、解决APT200和APT2062资源链接错误

你的核心问题出在AndroidAapt2LinkExtraArgs的参数格式上:代码里写的--no-version -vectors是错误的,--no-version-vectors是一个完整的aapt2参数,中间不能加空格。这个空格导致aapt2把-vectors当成了单独的未知参数,直接触发了"expected reference but got (raw string)"和链接失败的错误。

修复步骤:

  1. 找到项目中包含这段配置的文件(可能是自定义.targets或项目.csproj)
  2. 修改参数为完整的--no-version-vectors,修正后的代码片段:
<PropertyGroup>
     <AndroidAapt2LinkExtraArgs Condition=" $(AndroidResgenExtraArgs.Contains('--no-version-vectors')) And !($(AndroidAapt2LinkExtraArgs.Contains('--no-version-vectors'))) ">--no-version-vectors $(AndroidAapt2LinkExtraArgs) </AndroidAapt2LinkExtraArgs>
</PropertyGroup>
  1. 右键项目选择清理,然后重新生成Android目标。

二、解决XA1036版本不匹配错误

修改minSdkVersion到25+时出现的XA1036,是因为AndroidManifest.xml里的minSdkVersion和项目文件的SupportedOSPlatformVersion数值不一致。

修复方法二选一:

  • 方法1:统一两处版本值
    1. 打开项目.csproj文件,添加或修改<SupportedOSPlatformVersion>节点,比如要设为29:
    <PropertyGroup>
      <!-- 保留原有配置 -->
      <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">29.0</SupportedOSPlatformVersion>
    </PropertyGroup>
    
    1. 打开Properties/AndroidManifest.xml,确保<uses-sdk android:minSdkVersion="29" />和上面的版本一致。
  • 方法2:让项目配置自动接管版本
    删除AndroidManifest.xml里的<uses-sdk>节点中android:minSdkVersion属性,完全由项目文件的SupportedOSPlatformVersion控制版本。

额外排查点

如果修复后仍有问题:

  • 检查是否有其他自定义.targets文件修改了aapt2的参数配置
  • 手动删除项目的obj和bin目录,彻底清理后重新生成
  • 确保Visual Studio 2022和Android SDK都更新到对应.NET版本的最新稳定版

内容的提问来源于stack exchange,提问作者D.P.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 03:42:11