使用英语阅读

通过


适用于 Android 的 .NET 错误/警告 XA1026

示例消息

warning XA1026: Using AAPT is deprecated in favor of AAPT2. Please enable 'Use incremental Android packaging system (aapt2)' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidUseAapt2' MSBuild property to 'true'.
error XA1026: Using AAPT is not supported in .NET for Android projects that target .NET 6 or higher. Please enable 'Use incremental Android packaging system (aapt2)' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidUseAapt2' MSBuild property to 'true'.

问题

Google 已弃用 AAPT 命令行工具,转而支持 AAPT2。 适用于 Android 的 .NET 现在也已弃用 <AndroidUseAapt2>false</AndroidUseAapt2>

解决方案

AndroidUseAapt2 MSBuild 属性更新为 true 选择 AAPT2。 此属性对应于 Visual Studio 项目属性页中的“使用增量 Android 打包系统”(aapt2) 设置。 或者,从 .csproj 文件中删除<AndroidUseAapt2>以让生成选择默认值true

重要

在某些情况下,AAPT2 将对资源文件强制实施比以前的 AAPT 更严格的规则,因此,如果看到来自 AAPT2 本身而不是适用于 Android 生成任务的 .NET 的新错误消息,可能需要进行一些调整。

如果需要,该 --legacy 开关可以在 AAPT 兼容模式下运行 AAPT2。 将以下内容添加到 .csproj 文件:

<PropertyGroup>
  <AndroidAapt2CompileExtraArgs>--legacy</AndroidAapt2CompileExtraArgs>
</PropertyGroup>