以前,Xamarin一直在Windows 10版本1511上为我工作,但后来我更新到Windows 10 1607,并且Visual Studio一直警告我有更新,说" Xamarin用于Visual Studio更新可用。& #34;我一直点击它,但没有发生任何事情,所以最后,我去了工具 - > "扩展和更新"并搜索了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 ==========
我更新了我的java(参见Android NDK: Your APP_BUILD_SCRIPT points to an unknown file):
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 Development Kit Location :
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。
答案 0 :(得分:3)
通过在Options -> Xamarin -> Android Settings -> Java Development Kit Location
中将JDK更改为1.8.0_91来解决问题:
C:\Program Files\Java\jdk1.8.0_91
此外,必须确保此文件具有到Java JDK的正确路径:
~\MyProject.Droid\obj\Debug\sdks.cache
答案 1 :(得分:1)
在这种情况下,并假设其他组件可能因辍学而中断,我会建议完整uninstall并重新安装Xamarin(如果引起问题,也可能重新安装JDK)。请确保您遵循指南中的所有步骤,以确保在重新安装之前删除所有Xamarin痕迹。