“Java.exe” exited with code 1 (Proguard issue)

[亡魂溺海] 提交于 2019-12-29 00:40:00

问题


I get the following error when I build my Xamarin.Android app in Release.

"Java.exe" exited with code 1

Here is the output...

...    
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.

Reading the output messages it seems there is a problem with ProGuard, somebody know what can I do?


回答1:


Just update proguard from official site http://proguard.sourceforge.net/ (replace folder in $SDK_DIR/tools/proguard/)




回答2:


You can see the problem here:

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))

Solution: Change your Java target to 7 (1.7).




回答3:


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

I resolved this by manually overriding the java heap size: In Visual Studio:

  1. Right-click on Project
  2. Click on Android properties
  3. Click on Android Options
  4. Select Advanced tab then Advanced android build settings
  5. Set Java Max Heap Size to 1G (or larger if needed)

The project now builds.




回答4:


Having the same problem, for me the following worked (well it's a specific situation causing this error - might be not the only one):

Set Build Log verbosity to Detailed: in VS2017 -> Tools -> Options -> Projects and Solutions -> Build and Run ->MSBuild project build output verbosity -> Detailed (minimum)

Start a build. In output log (eg. in output window) search for

proguard.ParseException:

if the log contains something like:

proguard.ParseException: Unknown option '´╗┐-keep' in line 1 of file 'proguard.cfg'

then simply open your file in a text editor and save it without BOM.

eg. in Notepad++ Encoding -> Encode in UTF8 (make sure not to select Encode in UTF8-BOM) ...and save

Rebuild your project/solution. It should work - at least it workd for me.



来源:https://stackoverflow.com/questions/38147828/java-exe-exited-with-code-1-proguard-issue

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!