错误MSB4044:" AdjustJavacVersionArguments"任务没有给出所需参数的值" JdkVersion"

时间:2018-03-23 10:10:29

标签: android xamarin

我试图运行一个Android应用程序抛出Visual Studio(7.4 Build 1033) 我似乎遇到了这个问题:

  

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2,2):   错误MSB4044:" AdjustJavacVersionArguments"任务没有给出   所需参数的值" JdkVersion"。 (MSB4044)

而且......我不知道如何解决这个问题...

我看到Visual Studio有正确的JDK路径(提及"在UI中找到"并且JDK的版本是1.8。

任何帮助我的提示?

4 个答案:

答案 0 :(得分:3)

最后,我发现了问题。 Visual Studio正在使用Android Studio中的JDK ... 所以我改变了路径并开始使用我用oracle安装的JDK(例如(Mac):../Library/Java/...

答案 1 :(得分:1)

要检查问题,

  1. 转到Visual Studio Preferences >> SDK Location >> Android
  2. 选择“位置”标签

在这里,您将看到每个目标的位置,我们正面临JDK的问题。

  1. 单击文件夹选择器,以便导航到指向的当前位置。
  2. 就我而言,它指向"usr/"文件夹
  3. 检查"libexec"文件夹中的"usr/"文件夹并寻找"Java_Home"
  4. 执行文件"Java_Home",它将为您提供它在终端窗口中指向的位置。

就我而言,它指向"/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home"

现在我们知道VS指向的位置,我们需要将其更改为所需的位置。就我而言"JDk 1.8"

  1. 再次单击文件夹选择器,然后导航到文件夹"/Library/Java/JavaVirtualMachines"
  2. 在这里导航到所需的JDK,直到"Contents/Home"

确保一旦选择并返回VS,绿色勾号都已设置好。

答案 2 :(得分:1)

某人/某事意外地用JDK 11 LTE替换了JDK 1.8 LTE之后,问题发生在我的机器上。似乎Xamarin与1.8版以外的任何Java版本都不兼容。

Link to Microsoft Doc

请注意,不会发生该文章中描述的版本警告。相反,您遇到了上述“ AdjustJavacVersionArguments”错误。

在我手动重新安装1.8并在Visual Studio中(工具-选项-Xamarin-Android设置-Java Develoipment套件位置”)中设置JDK的正确路径后,将两个版本并行安装似乎可以正常工作离开后,我可以再次成功构建和部署Xamarin项目。

答案 3 :(得分:0)

重新安装JDK 1.8MS Instructions

enter image description here

Visual Studio指向的是JDK 1.8,但由于某些原因,效果不好。

enter image description here

警告-确保在Visual Studio中修复指向jdk的路径。对我来说,我安装的是与以前不同的1.8版本。如果Visual Studio仍在使用旧的jdk路径,它将无法正常工作。这应该很明显,但对我来说不是。

C:\Program Files\Java\jdk1.8.0_192 <-- old path. visual studio still thought this was good. good, that is, until build time.
C:\Program Files\Java\jdk1.8.0_201 <-- new path. from the install of JDK 1.8 that I did today. Tools > Options > Xamarin > Android Settings > Java Development Kit Location needs to be pointing to this.