我正在尝试在我的Xamarin.Android项目中使用Proguard,但编译失败并出现错误 Unsupported class version number [52.0] (maximum 51.0, Java 1.7)
我从这两个 问题中看到,它可能与Java 7和Java 8不匹配,更确切地说,某些版本的proguard不支持Java 8.但是在Xamarin首选项 - > SDK位置中,Java SDK指向JDK 7:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
是否有更精确配置proguard的地方?还有其他想法吗?
这是失败日志:
java.io.IOException:无法读取[/Library/Frameworks/Xamarin.Android.framework/Versions/7.0.0-18/lib/xbuild-frameworks/MonoAndroid/v7.0/mono.android.jar](可以在proguard.InputReader.readInput中的proguard.InputReader.readInput(InputReader.java:230)处理类[android/app/ActivityTracker.class](不支持的类版本号[52.0](最大51.0,Java 1.7))) InputReader.java:200)在proguard.InputReader.readInput(InputReader.java:178)的proguard.InputReader.exe执行(InputReader.java:78)proguard.ProGuard.readInput(ProGuard.java:196)proguard.ProGuard.执行(ProGuard.java:78)在proguard.ProGuard.main(ProGuard.java:492)引起:java.io.IOException:无法处理类[android/app/ActivityTracker.class](不支持的类版本号[ 52.0](最大51.0,Java 1.7))proguard.io.ClassReader.read(ClassReader.java:112)位于proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)的proguard.io.JarReader.read(JarReader) .java:65)在proguard.io.Director progPard.readFiles(DirectoryPump.java:65)中的progPard.EndoryPump.pumpDataEntries(DirectoryPump.java:53)中的yPump.readFiles(DirectoryPump.java:65)... 6更多引起者:java.lang. UnsupportedOperationException:proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:88)中proguard.classfile.util.ClassUtil.checkVersionNumbers(ClassUtil.java:140)中不支持的类版本号[52.0](最大51.0,Java 1.7)在proguard.classfile.ProgramClass.accept(ProgramClass.java:346)的proguard.io.ClassReader.read(ClassReader.java:91)... 11更多
9警告1错误
当我在Release中构建我的Xamarin.Android应用程序时出现以下错误.
"Java.exe" exited with code 1
Run Code Online (Sandbox Code Playgroud)
这是输出......
...
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> …Run Code Online (Sandbox Code Playgroud)