Lire en anglais

Partager via


Avertissement .NET pour Android XA1028

Exemples de messages

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ème

Le projet est actuellement configuré pour utiliser le compilateur D8 DEX et a l’ancienne AndroidEnableProguard propriété MSBuild définie true sur sans valeur définie pour la propriété MSBuild plus récente AndroidLinkTool . Cela entraîne une erreur XA1011 , car le réducteur de code ProGuard n’est plus compatible avec le compilateur D8 DEX.

Solution

  1. Modifiez le fichier projet dans Visual Studio ou un autre éditeur de texte et supprimez tous les anciens <AndroidEnableProguard> éléments.

  2. Après avoir enregistré le fichier projet, ouvrez-le dans Visual Studio comme d’habitude et définissez le réducteur de code dans les pages de propriétés du projet Visual Studio sur r8, ou continuez à modifier le fichier projet dans l’éditeur de texte et définissez la AndroidLinkTool propriété MSBuild sur r8:

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

R8 peut dans certains cas produire de nouveaux avertissements ou erreurs de build par rapport à ProGuard, de sorte que les règles ProGuard pour le projet peuvent nécessiter quelques mises à jour pour résoudre les nouveaux avertissements ou erreurs qui apparaissent après cette modification.