android - 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 文件时发生错误
解决方案
当您创建/保存 proguard 文件时,问题就出现了。
Xamarin 使用两种类型的 UTF-8 编码。
- UTF-8(仅限)
- 带有 BOM 的 UTF-8(在新文件创建期间由 xamarin 默认设置)
因为 Xamarin 很聪明,它会将这个新文件保存为 UTF-8 和 BOM,您需要更改它。最好在记事本中创建文件,然后将其包含在您的程序中。这是必需的,因为除非文件采用 UTF-8 编码,否则 Proguard 不会读取文件。
推荐阅读
- c++ - 返回引用返回函数的局部引用与局部变量
- flutter - 颤振图像选择器maxDuration问题
- ios - 如何从 Google Drive (Swift 5) 播放音频文件
- spring-boot - 使用 Springboot 的 API 网关
- angular - 获得响应后在传单上渲染大量动态标记需要大量时间
- c# - EF Core 获取两个属性与列表中的一对属性匹配的记录
- html - React:如何在组件内对齐组件?
- javascript - 如何使jQuery事件回调中的this默认引用jQuery对象
- android - Gridview过滤器在android中不起作用
- python - Discord.py 狙击命令