Прочитать на английском

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


Ошибка .NET для Android и предупреждение 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. .NET для Android также устарел <AndroidUseAapt2>false</AndroidUseAapt2> .

Решение

AndroidUseAapt2 Обновите свойство MSBuild, чтобы true выбрать AAPT2. Это свойство соответствует параметру "Инкрементная система упаковки Android" (aapt2) на страницах свойств проекта Visual Studio. Кроме того, удалите <AndroidUseAapt2> из CSPROJ-файла , чтобы разрешить сборке выбрать значение trueпо умолчанию.

Важно!

AAPT2 в некоторых случаях применяет более строгие правила для файлов ресурсов, чем предыдущие AAPT, поэтому некоторые корректировки могут потребоваться, если вы видите новые сообщения об ошибках, поступающие из AAPT2 сам по себе, а не из задач сборки .NET для Android.

При необходимости --legacy переключатель может запускать AAPT2 в режиме совместимости AAPT. Добавьте следующий код в CSPROJ-файл :

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