我想在我的Xamarin.Android项目中使用Proguard的,但编译失败与Unsupported class version number [52.0] (maximum 51.0, Java 1.7)
Xamarin.Android Proguard的 - 不支持的类版本号52.0
我从那些twoquestions看到,这可能是一个错误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-框架/ MonoAndroid/v7.0/mono.android.jar] (无法处理类[android/app/ActivityTracker.class](不支持 类版本号[52.0](最大51.0,Java 1.7)))at proguard.InputReader.readInput(InputReader.java:230)at proguard.InputReader.readInput(InputReader.java:200)at proguard.InputReader.readInput(InputReader.java:178)at proguard.InputReader.execute(InputReader.java:78)at proguard.ProGuard.readInput(ProGuard.java:196)at proguard.ProGuard.execute(ProGuard.java:78)at proguard.ProGuard.main(ProGuard。 java:492)原因: java.io.IOException:无法在 proguard中处理类 [android/app/ActivityTracker.class](不支持的类版本号 [52.0](最大值51.0,Java 1.7))。 io.ClassReader.read(ClassReader.java:112)at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87) at proguard.io.JarReader.read(JarReader.java:65)at proguard.io。 DirectoryPump.readFiles(DirectoryPump.java:65)at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPum如果您的系统已经安装了更新版本,您可以使用下面的代码生成一个新的版本号:5235(最大值为51.0,Java 1.7)在 proguard.classfile.util.ClassUtil.checkVersionNumbers(ClassUtil.java:140) 在 proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:88) 在proguard.classfile.ProgramClass.accept(ProgramClass.java :346)在 proguard.io.ClassReader.read(ClassReader.java:91)... 11更
9警告(S)1个错误(S)
这适用于我,详情我用'lib'文件夹替换Android'tools/proguard/lib'文件夹Sourceforge发布的最新版Proguard(目前为5.3.2)。 –
如果您替换整个proguard目录,请确保从旧目录复制配置文件:proguard-android-optimize.txt,proguard-android.txt,proguard-project.txt。 – rooby
最奇妙的事情是,它甚至2年前真的有帮助) Thx男人,你救了我的一天。 – Darkmike