.NET voor Android: fout of waarschuwing XA1026

Opmerking

Dit bericht is alleen toegepast op Xamarin.Android. In .NET voor Android aapt2 wordt altijd gebruikt en heeft de $(AndroidUseAapt2) eigenschap geen effect.

Voorbeeldberichten

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'.

Issue

Google heeft het AAPT-opdrachtregelprogramma afgeschaft ten gunste van AAPT2. .NET voor Android heeft <AndroidUseAapt2>false</AndroidUseAapt2> ook nu verouderd verklaard.

Solution

Werk de MSBuild-eigenschap AndroidUseAapt2 bij naar true om AAPT2 te selecteren. Deze eigenschap komt overeen met de instelling Incrementeel Android-verpakkingssysteem (aapt2) gebruiken op de eigenschappenpagina's van het Visual Studio-project. U kunt ook verwijderen <AndroidUseAapt2> uit het . csproj-bestand om de build de standaardwaarde truete laten selecteren.

Belangrijk

AAPT2 dwingt in sommige gevallen strengere regels af voor resourcebestanden dan de vorige AAPT, dus sommige aanpassingen kunnen nodig zijn als u nieuwe foutberichten ziet die afkomstig zijn van AAPT2 zelf in plaats van de build-taken van .NET voor Android.

Indien nodig kan de --legacy switch AAPT2 uitvoeren in een AAPT-compatibiliteitsmodus. Voeg het volgende toe aan uw .csproj-bestand :

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