4

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?

Fran_gg7
  • 717
  • 3
  • 13
  • 30

4 Answers4

6

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

Oleg A
  • 61
  • 3
4

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

giannisf
  • 2,479
  • 1
  • 17
  • 29
  • install jdk 1.7 change it from File -> Project Structure – giannisf Jul 04 '16 at 12:02
  • Giannisf, I did not understand you...File -> Project from where? VisualStudio? Please give me more details. Thanks a lot in advance :-) – Fran_gg7 Jul 04 '16 at 13:04
  • @Fran_gg7 In Android Studio. If you are using `Xamarin`, see this post from the forums https://forums.xamarin.com/discussion/16210/configure-java-version-used-by-xamarin – giannisf Jul 04 '16 at 13:13
  • I just have checked that I already was using SDK 1.7..., as you can see: https://s31.postimg.org/xqvxi9tqz/Untitled.png – Fran_gg7 Jul 04 '16 at 13:17
  • 1
    Also make sure that you have latest proguard. default android sdk doesnt have latest proguard. you need to download and manually replace inside android sdk folder – Emil Nov 27 '16 at 18:47
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.

Zoe
  • 27,060
  • 21
  • 118
  • 148
Manohar
  • 53
  • 1
  • 4
  • 2
    this worked for me. If you see some error code like `-1073740791` in output this should be the solution. `-1073740791` is actually `0xC0000409`, which is actually `Stack buffer overflow`, which is ... the site's name. :-) – Felix Oct 31 '16 at 02:10
1

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.

Zoe
  • 27,060
  • 21
  • 118
  • 148
tretom
  • 559
  • 1
  • 7
  • 17
  • You don't need to say that you know the post is old: you can answer a question (assuming it is an actual answer, which this is) whether the post is 2 minutes old, or 2 years old. Updates are periodically needed too – Zoe Feb 23 '19 at 12:29
  • I noticed this error in build log but i could not figure out why it was happening. Thanks a lot for an encoding tip. – Ognjen Babic Mar 12 '19 at 09:58