“Java.exe”退出代码1(Proguard问题)

问题描述 投票:4回答:4

当我在Release中构建我的Xamarin.Android应用程序时出现以下错误。

"Java.exe" exited with code 1

这是输出......

...    
1> java.io.IOException: Can't read [C:\Users\FranciscoJavier\AppData\Local\Android\android-sdk\platforms\android-24\android.jar] (Can't process class [java/nio/charset/CharsetDecoder.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7)))
1> at proguard.InputReader.readInput(InputReader.java:230)
1> at proguard.InputReader.readInput(InputReader.java:200)
1> at proguard.InputReader.readInput(InputReader.java:178)
1> at proguard.InputReader.execute(InputReader.java:100)
1> at proguard.ProGuard.readInput(ProGuard.java:196)
1> at proguard.ProGuard.execute(ProGuard.java:78)
1> at proguard.ProGuard.main(ProGuard.java:492)
1> Caused by: java.io.IOException: Can't process class [java/nio/charset/CharsetDecoder.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7))
1> at proguard.io.ClassReader.read(ClassReader.java:112)
1> at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
1> at proguard.io.JarReader.read(JarReader.java:65)
1> at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
1> at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
1> at proguard.InputReader.readInput(InputReader.java:226)
1> ... 6 more
1> Caused by: java.lang.UnsupportedOperationException: Unsupported class version number [52.0] (maximum 51.0, Java 1.7)
1> at proguard.classfile.util.ClassUtil.checkVersionNumbers(ClassUtil.java:140)
1> at proguard.classfile.io.LibraryClassReader.visitLibraryClass(LibraryClassReader.java:89)
1> at proguard.classfile.LibraryClass.accept(LibraryClass.java:301)
1> at proguard.io.ClassReader.read(ClassReader.java:86)
1> ... 11 more
1> Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2118,3): error MSB6006: "java.exe" exited with code 1.
1>Done executing task "Proguard" -- FAILED.
1>Done building target "_CompileToDalvikWithDx" in project "Elfo.VisionShop.Droid.csproj" -- FAILED.
1>
1>Build FAILED.

阅读输出消息似乎ProGuard存在问题,有人知道我该怎么办?

java android xamarin proguard
4个回答
6
投票

只需从官方网站http://proguard.sourceforge.net/更新proguard(替换$ SDK_DIR / tools / proguard /中的文件夹)


4
投票

你可以在这里看到问题:

Caused by: java.io.IOException: Can't process class [java/nio/charset/CharsetDecoder.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7))

解决方案:将Java目标更改为7(1.7)。


2
投票
**Error : while running app “Java.exe” exited with code**

我通过手动覆盖java堆大小来解决这个问题:在Visual Studio中:

  1. 右键单击Project
  2. 单击Android属性
  3. 单击Android选项
  4. 选择Advanced选项卡,然后选择Advanced android build settings
  5. 将Java Max Heap Size设置为1G(如果需要,可以设置更大)

该项目现在正在建设中


1
投票

有同样的问题,对我来说,以下工作(这是导致此错误的特定情况 - 可能不是唯一的):

将Build Log verbosity设置为Detailed:在VS2017中 - >工具 - >选项 - >项目和解决方案 - >构建并运行 - > MSBuild项目构建输出详细程度 - >详细(最小)

开始构建。在输出日志中(例如在输出窗口中)搜索

proguard.ParseException:

如果日志包含以下内容:

proguard.ParseException:文件'proguard.cfg'的第1行中的未知选项''-keep'

然后只需在文本编辑器中打开文件并保存,无需BOM。

例如。在Notepad ++编码 - >在UTF8中编码(确保不选择UTF8-BOM中的编码)...并保存

重建您的项目/解决方案。它应该工作 - 至少它适用于我。

© www.soinside.com 2019 - 2024. All rights reserved.