Поделиться через


Ошибка XA1011 в .NET для Android

Примеры сообщений

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 было разрешено, но теперь для использования с компилятором D8 DEX поддерживается только сжатие кода R8.

Решение

Установите сжатие кода в настройках страницы свойств проекта Visual Studio на r8 или отредактируйте файл проекта в Visual Studio или в другом текстовом редакторе и задайте свойству AndroidLinkTool MSBuild значение r8:

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

В некоторых случаях R8 может создавать новые предупреждения сборки или ошибки по сравнению с ProGuard, поэтому правила ProGuard для проекта могут потребовать нескольких обновлений для устранения новых предупреждений или ошибок, которые появляются после этого изменения.