【问题标题】:Xamarin Android: java.exe exited with Code 2 -- MultiDex enabledXamarin Android:java.exe 退出,代码 2 - 启用了 MultiDex
【发布时间】:2022-04-26 22:36:07
【问题描述】:

在最近的更新(Xamarin.Android.Support 库、V28.0.0、构建工具 28.0.3)之后,每个构建都失败了

“java.exe”以代码 2 退出

我之前启用了 Multi-Dex 来解决这个问题,直到现在都没有问题。我还尝试重新启用 ProGuard,并按照this 答案中的所有步骤操作,包括更改 MainDexClasses.bat。

有几个新警告,但我无法确定它们是否导致了新问题:

CREATEMULTIDEXMAINDEXCLASSLIST:警告:无法写入资源 [META-INF/maven/com.squareup.okio/okio/pom.xml](重复的 zip 条目 [okio.jar:META-INF/maven/com.squareup. okio/okio/pom.xml])

CREATEMULTIDEXMAINDEXCLASSLIST:警告:无法写入资源 [META-INF/maven/com.squareup.okio/okio/pom.properties](重复的 zip 条目 [okio.jar:META-INF/maven/com.squareup. okio/okio/pom.properties])

更新:看起来这是 V28 SDK 中出现的错误。在https://github.com/SpiegelSoft/Repro 有一个repro,我在https://github.com/xamarin/xamarin-android/issues/2565 创建了一个问题

如果有人能找到任何巧妙的解决方法,我将非常感激。

【问题讨论】:

  • 更新android SDK,最好使用android studio更新。
  • 你找到解决办法了吗?

标签: xamarin xamarin.android visual-studio-2017


【解决方案1】:

我遇到了这个问题,我的解决方法是:

  1. 关闭项目
  2. PCL/Shared Project 和包括 Android 在内的所有其他平台中删除 bin 和 obj 文件夹
  3. 打开项目
  4. 重建

【讨论】:

  • 不幸的是,运气不好。我还尝试了 git clean -xdf,这似乎破坏了更多代码。解决所有剩余问题后,我会查看问题是否已解决。
【解决方案2】:

我似乎也有同样的问题:

(Duplicate zip entry [openpay.jar:META-INF/LICENSE])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/NOTICE] (Duplicate zip entry [openpay.jar:META-INF/NOTICE])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/services/com.fasterxml.jackson.core.JsonFactory] (Duplicate zip entry [openpay.jar:META-INF/services/com.fasterxml.jackson.core.JsonFactory])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.xml] (Duplicate zip entry [openpay.jar:META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.xml])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.properties] (Duplicate zip entry [openpay.jar:META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.properties])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [com/fasterxml/jackson/core/json/VERSION.txt] (Duplicate zip entry [__reference__jackson-core-2.1.3.jar:com/fasterxml/jackson/core/json/VERSION.txt])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/services/com.fasterxml.jackson.core.JsonFactory] (Duplicate zip entry [__reference__jackson-core-2.1.3.jar:META-INF/services/com.fasterxml.jackson.core.JsonFactory])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.xml] (Duplicate zip entry [__reference__jackson-core-2.1.3.jar:META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.xml])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.properties] (Duplicate zip entry [__reference__jackson-core-2.1.3.jar:META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.properties])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/ASL2.0] (Duplicate zip entry [__reference__jackson-core-asl-1.9.11.jar:META-INF/ASL2.0])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/LICENSE] (Duplicate zip entry [__reference__jackson-core-asl-1.9.11.jar:META-INF/LICENSE])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/NOTICE] (Duplicate zip entry [__reference__jackson-core-asl-1.9.11.jar:META-INF/NOTICE])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [org/codehaus/jackson/impl/VERSION.txt] (Duplicate zip entry [__reference__jackson-core-asl-1.9.11.jar:org/codehaus/jackson/impl/VERSION.txt])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/maven/com.squareup.okio/okio/pom.xml] (Duplicate zip entry [okio.jar:META-INF/maven/com.squareup.okio/okio/pom.xml])
10>CREATEMULTIDEXMAINDEXCLASSLIST : warning : can't write resource [META-INF/maven/com.squareup.okio/okio/pom.properties] (Duplicate zip entry [okio.jar:META-INF/maven/com.squareup.okio/okio/pom.properties])
10>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2610,3): error MSB6006: "java.exe" exited with code 2.

对我来说,它是在我从 packages.config 迁移到 PackageReference 之后开始发生的。这一切都与 packages.config 以前一起工作。我已经尝试删除 bin/obj、clean/rebuild,并且 multidex 已打开。我的目标框架是 Pie。

在为此奋斗了 3 天之后,对我来说“有效”的是将我的所有 Xamarin.Android.Support nuget 从 28.0.0.1 降级到 27.0.2.1,并删除从 v28 开始添加的所有 Xamarin.Android.Support nuget .0.0(即仅作为 v28 和 28.0.0.1 提供,例如 Xamarin.Android.Support.CoordinaterLayout)。这允许构建和运行应用程序。

你有没有找到解决办法,也许是更干净的?

【讨论】:

  • 还没有。我也降级了。
【解决方案3】:

从 VS Mac 切换到 VS Windows 时出现此错误。

Here the topic Switching From VS Mac To VS Windows got “java.exe” exited with code 2

问题来自 Android.csproj 和密钥库路径。
它已设置为我的 Mac 路径,即使我已经更改了它
VSWindows AndroidProject => 属性 => 登录

所以我在 Android.csproj 上删除了这行(用第三个文本编辑器编辑):

<AndroidKeyStore>True</AndroidKeyStore>
<AndroidSigningKeyStore>YourMacPath/Alias.keystore</AndroidSigningKeyStore>
<AndroidSigningStorePass>Password</AndroidSigningStorePass>
<AndroidSigningKeyAlias>Alias</AndroidSigningKeyAlias>
<AndroidSigningKeyPass>AliasPassword</AndroidSigningKeyPass>

在调试和发布部分。

然后你可以在 VS Windows 上编辑它们。

希望我帮助了某人。 再见

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-11
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    相关资源
    最近更新 更多