首页 > 解决方案 > Xamarin.Android.D8.Target -“java.exe”在创建 proguard 配置文件时以代码 1 退出

问题描述

我正在创建一个 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 Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.D8.targets(49,5): error MSB6006: "java.exe" exited with code 1.

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

标签: androidxamarinxamarin.androidproguard

解决方案


当您创建/保存 proguard 文件时,问题就出现了。

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

  1. UTF-8(仅限)
  2. 带有 BOM 的 UTF-8(在新文件创建期间由 xamarin 默认设置)

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


推荐阅读