【问题标题】:Error "java.exe" exited with code 1 - Xamarin错误“java.exe”以代码 1 退出 - Xamarin
【发布时间】:2019-02-05 11:50:37
【问题描述】:

我想减小 .apk 文件的大小,所以我在 Android 项目的属性窗口中检查 Enable ProGuard 选项,但出现编译时错误

错误“java.exe”以代码 1 退出。

我尝试了一些类似的东西

  • 磁头大小已经是 1G。
  • Android 目标版本为 9.0(Pie)。
  • 发布模式下的我的解决方案配置。

日志:

8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax$a: can't find superclass or interface org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.Instrumentation: can't find referenced class com.appdynamics.eumagent.runtime.BuildInfo
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.Instrumentation: can't find referenced class com.appdynamics.eumagent.runtime.BuildInfo
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.protocol.HttpContext
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.protocol.HttpContext
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.protocol.HttpContext
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.InstrumentationCallbacks: can't find referenced class org.apache.http.protocol.HttpContext
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.Header
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpEntity
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpEntityEnclosingRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.RequestLine
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.StatusLine
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.Header
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.Header
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpEntity
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpEntityEnclosingRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.RequestLine
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.StatusLine
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.StatusLine
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpEntity
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.protocol.HttpContext
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.protocol.HttpContext
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.methods.HttpUriRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.protocol.HttpContext
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.HttpClient
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpHost
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.HttpRequest
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax: can't find referenced class org.apache.http.protocol.HttpContext
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax$a: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax$a: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax$a: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax$a: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax$a: can't find referenced class org.apache.http.client.ResponseHandler
8>PROGUARD : warning : com.appdynamics.eumagent.runtime.private.ax$a: can't find referenced class org.apache.http.HttpResponse
8>PROGUARD : warning : there were 123 unresolved references to classes or interfaces.
8>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2550,3): error MSB6006: "java.exe" exited with code 1.
========== Build: 7 succeeded, 1 failed, 4 up-to-date, 0 skipped ==========

我正在使用 proguard 4.7 文件。我不能使用最新的 proguard 文件,因为我不允许下载任何外部文件。我该如何解决这个问题?

【问题讨论】:

  • 请在此处添加日志,而不是作为一些场外资源
  • @Cheesebaron - 我试过了,但是日志(来自 VS 输出窗口)是 太长 在这里看起来很奇怪。此外,SO 编辑不接受这一点。谢谢。
  • 将其缩小到失败的地方
  • @Cheesebaron - 我已根据 SO 编辑器的需要添加了尽可能短的登录问题。谢谢。
  • org.apache.http 是 Google Play 服务中的旧版。您指的是哪个版本的 Play 服务?如果它是最新的,您可能会遇到 Xamarin 绑定中的错误。

标签: android xamarin xamarin.android proguard


【解决方案1】:

经过长时间的研究,我找到了解决这个问题的方法。

首先从here 下载最新的Proguard 文件解压缩并复制到sdk 路径C:\Program Files (x86)\Android\android-sdk\tools,此路径可能与您的情况不同。

必须已经有一个 proguard 文件夹,将其重命名为 proguard.old。现在从 proguard.old 文件夹复制并粘贴 proguard-androidproguard-android-optimizeproguard-project 文件到新创建的 proguard 文件夹。

之后需要按照以下步骤进行

  • 在 PC 的某处创建 txt 文件并将扩展名更改为 .cfg
  • 将使用 Notepad++ 的 proguard.cfg 文件编码更改为不带 BOM 的 UTF-8 并另存为某处。
  • 现在将这个新的 proguard.cfg 添加到您的 android 项目级别。
  • 将 proguard.cfg 文件构建操作更改为 ProguardConfiguration
  • 清理您的项目。

如果你得到 warnings 前缀 progurd 像这样

PROGUARD:警告:com.appdynamics.eumagent.runtime.private

现在您需要将此包添加到您的自定义 proguard.cfg 文件中,例如

-dontwarn com.appdynamics.eumagent.runtime.**

对于-dontwarn,不要使用关键字class。这里** 获取给定包的所有子类。

如果您收到exception,那么您需要找出导致问题的库并将其添加到带有-keep 关键字的proguard.cfg 文件中

-keep public class android.support.v7.widget.** { *; } 

如果您仔细查看完整日志,progaurd 会给出所有警告,以便我们轻松发现问题。

【讨论】:

    猜你喜欢
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2019-08-28
    • 1970-01-01
    • 2018-03-12
    • 2016-11-04
    相关资源
    最近更新 更多