【发布时间】:2016-08-10 14:48:06
【问题描述】:
以前,Xamarin 一直在 Windows 10 版本 1511 上为我工作,但后来我更新到 Windows 10 1607,Visual Studio 一直警告我有更新,说“Xamarin for Visual Studio 更新可用”。我一直点击它,但什么也没发生,所以最后,我转到工具->“扩展和更新”并搜索 Xamarin,在那里我下载并运行了 XamarinInstaller.exe。问题是我的互联网中断了一部分,所以安装没有完成,所以现在当我尝试运行 Xamarin.Android 项目时,我收到了这个错误:
...
1>Skipping target "_CompileJava" because all output files are up-to-date with respect to the input files.
1>Skipping target "_CreateAdditionalResourceCache" because it has no outputs.
1>C:\Program Files (x86)\Java\jdk1.7.0_55\\bin\java.exe -jar "C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.1\\lib\dx.jar" --no-strict --dex --output=obj\Debug\android\bin obj\Debug\android\bin\classes "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v4.4\mono.android.jar"
1>java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
1> at java.lang.ClassLoader.defineClass1(Native Method)
1> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
1> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
1> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
1> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
1> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
1> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
1> at java.security.AccessController.doPrivileged(Native Method)
1> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
1> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
1> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
1> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
1> at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
1>Exception in thread "main"
1>java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
1>Done building project "MyProject.Droid.csproj" -- FAILED.
1>Build FAILED.
1>
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========
我从(见Android NDK: Your APP_BUILD_SCRIPT points to an unknown file)更新了我的java:
C:\Program Files (x86)\Java\jdk1.7.0_55
到,
C:\Program Files\Java\jdk1.7.0_79
修复了以下错误,
Severity Code Description Project File Line Suppression State
Error java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 TuberEduMobile.Droid C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets 2159
但这并没有解决上面的第一个问题。另外,我下载了 android-ndk-r12b,但是当我尝试使用 ndk-build 构建时,我得到了这个错误:
Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: C:\projects\android-ndk-r12b/jni/Android.mk
C:/projects/android-ndk-r12b/build//../build/core/add-application.mk:198: *** Android NDK: Aborting... . Stop.
有人有什么建议吗?如何让我的 Xamarin.Android 再次工作? TIA。
更新:
感谢您的建议,@Alan Clark。尝试使用您指定的链接卸载并使用 XamarinInstaller.exe 重新安装 Xamarin,甚至从我的机器中删除旧的 Java jdk1.7.0_55,即使我转到 Options -> Xamarin -> Android Settings,它也会显示 Java 开发工具包位置:
C:\Program Files\Java\Jdk1.7.0_79
但由于某种原因,它仍然指向该目录旧目录,因为当我尝试构建我的 Xamarin.Android 解决方案时遇到此错误:
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2159,3): error MSB6004: The specified task executable location "C:\Program Files (x86)\Java\jdk1.7.0_55\\bin\java.exe" is invalid.
请注意,它指向的是这个 NDK:
C:\Program Files\Android\ndk\android-ndk\r11c
不确定是否与我的具体问题有关。
有人有什么建议吗? TIA。
【问题讨论】: