適用於 Android 的 .NET 警告 XA1028
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'.
專案目前已設定為使用 D8 DEX 編譯程式,並且將舊版 AndroidEnableProguard
MSBuild 屬性設定 true
為 ,而不會針對較 AndroidLinkTool
新的 MSBuild 屬性設定任何值。 這會導致 XA1011 錯誤,因為 ProGuard 程式代碼壓縮器不再與 D8 DEX 編譯程式相容。
在 Visual Studio 或其他文字編輯器中編輯項目檔,並移除所有舊的
<AndroidEnableProguard>
元素。儲存專案檔之後,如往常在 Visual Studio 中開啟它,並將 Visual Studio 專案屬性頁面中的 Code 壓縮器設定為 r8,或繼續編輯文字編輯器中的項目檔,並將 MSBuild 屬性設定
AndroidLinkTool
為r8
:<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <AndroidLinkTool>r8</AndroidLinkTool> </PropertyGroup>
在某些情況下,R8 可能會產生與 ProGuard 相較之下的新組建警告或錯誤,因此專案的 ProGuard 規則可能需要一些更新來解決此變更之後出現的任何新警告或錯誤。