.NET for Android figyelmeztetés XA1028

Példaüzenetek

warning XA1028: The 'AndroidEnableProguard' MSBuild property is set to 'true' and the 'AndroidLinkTool' MSBuild property is empty, so 'AndroidLinkTool' will default to 'proguard'.
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'.

Probléma

A projekt jelenleg a D8 DEX fordító használatára van konfigurálva, és a régebbi AndroidEnableProguard MSBuild tulajdonság true értéke nincs beállítva az újabb AndroidLinkTool MSBuild tulajdonsághoz. Ez XA1011-hibát eredményez, mert a ProGuard kódzsugorító már nem kompatibilis a D8 DEX fordítóval.

Megoldás

  1. Szerkessze a projektfájlt a Visual Studióban vagy egy másik szövegszerkesztőben, és távolítsa el az összes régi <AndroidEnableProguard> elemet.

  2. A projektfájl mentése után nyissa meg a Visual Studióban a szokásos módon, és állítsa a Visual Studio projekttulajdonságainak lapjain lévő Kódzsugorítótr8 értékre, vagy folytassa a projektfájl szerkesztését a szövegszerkesztőben, és állítsa az MSBuild tulajdonságot a AndroidLinkTool következőre r8:

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

Az R8 bizonyos esetekben új buildre vonatkozó figyelmeztetéseket vagy hibákat eredményezhet a ProGuardhoz képest, így a projekt ProGuard-szabályaihoz szükség lehet néhány frissítésre a módosítás után megjelenő új figyelmeztetések vagy hibák elhárításához.