Xamarin.Android.D8.Target - "java.exe" 在创建混淆器配置文件时以代码 1 退出

Xamarin.Android.D8.Target - "java.exe" exited with code 1 on creating proguard configuration file

我正在创建一个 Xamarin.Android 应用程序。启用 Proguard 或 R8 Shrinker 获取 -> Xamarin.Android.D8.Target - "java.exe" exited with code 1

我已经用 Xamarin.Android.Common.Targets 处理了同样的错误上升,它通过启用 MultiDex 得到修复。

但是Xamarin.Android.D8.Target - "java.exe" exited with code 1不一样。

1>PROGUARD : warning : there were 6319 unresolved references to classes or interfaces.
1>C:\Program Files (x86)\Microsoft Visual Studio19\Community\MSBuild\Xamarin\Android\Xamarin.Android.D8.targets(49,5): error MSB6006: "java.exe" exited with code 1.

项目目录中有 proguard.cfg 或 proguard.pro 文件时发生错误

启用 ProGuard(或 R8)可能(并且经常)破坏您的构建。您需要添加ProGuard.cfg,然后向其添加一些导致问题的异常,以便其正常工作。

当你 create/save proguard 文件时出现问题。

Xamarin 使用两种类型的 UTF-8 编码。

  1. UTF-8(仅限)
  2. 带 BOM 的 UTF-8(xamarin 在创建新文件时默认)

因为 Xamarin 很聪明,它以带 BOM 的 UTF-8 格式保存这个新文件,您需要更改它。可能最好在记事本中创建该文件,然后将其包含在您的程序中。这是必需的,因为 Proguard 不会读取文件,除非它是 UTF-8 编码。