在Release中构建我的Xamarin.Android应用程序时出现以下错误。
"Java.exe" exited with code 1
这是输出......
...
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.
阅读输出消息似乎ProGuard存在问题,有人知道我该怎么办?
答案 0 :(得分:6)
只需从官方网站http://proguard.sourceforge.net/更新proguard (替换$ SDK_DIR / tools / proguard /中的文件夹)
答案 1 :(得分:4)
你可以在这里看到问题:
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))
<强>解决方案:强> 将Java目标更改为7(1.7)。
答案 2 :(得分:2)
**Error : while running app “Java.exe” exited with code**
我通过手动覆盖java堆大小来解决这个问题:在Visual Studio中:
该项目现已建成。
答案 3 :(得分:1)
遇到同样的问题,对我来说,以下工作有效(嗯,这是导致此错误的特定情况-可能不是唯一的情况):
在VS2017中将“构建日志详细程度”设置为“详细”:->工具->选项->项目和解决方案->构建并运行-> MSBuild项目构建输出详细程度->详细(最低)
开始构建。 在输出日志中(例如在输出窗口中)搜索
proguard.ParseException:
如果日志中包含以下内容:
proguard.ParseException:文件'proguard.cfg'的第1行中的未知选项'´╗┐-keep'
然后只需在文本编辑器中打开文件并保存而无需BOM。
例如在记事本++编码中->在UTF8中编码(请确保不要选择在UTF8-BOM中编码) ...并保存
重建您的项目/解决方案。它应该起作用-至少对我有用。