英語で読む

次の方法で共有


Android 用 .NET 警告 XA1027

Example messages (メッセージの例)

warning XA1027: The 'EnableProguard' 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'.

問題点

プロジェクトは現在、D8 DEX コンパイラを使用するように構成されており、古いEnableProguard MSBuild プロパティは、新しいAndroidLinkTool MSBuild プロパティに値を設定せずにtrueに設定されています。 ProGuard コード シュリンクラーが D8 DEX コンパイラと互換性を持たなくなったため、 XA1011 エラーが発生します。

解決策

  1. Visual Studio または別のテキスト エディタープロジェクト ファイルを編集し、古い<EnableProguard>要素をすべて削除します。

  2. プロジェクト ファイルを保存した後、通常どおり Visual Studio で開き、Visual Studio プロジェクトのプロパティ ページで Code shrinkerr8 に設定するか、テキスト エディターでプロジェクト ファイルの編集を続行して、 AndroidLinkTool MSBuild プロパティを r8 に設定します。

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

R8 では、ProGuard と比較して新しいビルドの警告やエラーが発生する場合があるため、プロジェクトの ProGuard ルールでは、この変更後に表示される新しい警告やエラーを解決するために、いくつかの更新が必要になる場合があります。