使用英语阅读

通过


适用于 Android 的 .NET 错误 XA1011

示例消息

error XA1011: Using ProGuard with the D8 DEX compiler is no longer supported. Please set the code shrinker to 'r8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidLinkTool' MSBuild property to 'r8'.

问题

该项目当前配置为将 D8 DEX 编译器与 ProGuard 代码收缩器结合使用。 过去,允许将 ProGuard 代码收缩器与 D8 DEX 编译器配合使用,但现在仅支持 R8 代码收缩器与 D8 DEX 编译器一起使用。

解决方案

Visual Studio 项目属性页中的代码收缩器设置为 r8,或在 Visual Studio 或其他文本编辑器中编辑项目文件,并将 MSBuild 属性设置为AndroidLinkToolr8

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  <AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>

在某些情况下,R8 可能会生成与 ProGuard 相比的新生成警告或错误,因此项目的 ProGuard 规则可能需要一些更新来解决此更改后出现的任何新警告或错误。