我想在我的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