Cordova正在运行错误的Java版本。 如何让Cordova运行特定的Java版本?

[javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release 

 error: strings in switch are not supported in -source 1.5 [javac] switch (xmlData[i][1]) { [javac] ^ [javac] (use -source 7 or higher to enable strings in switch) 

在使用Cordova for Android编译APK时,我正在收到警告和错误,我正在运行Java 1.5。 我不能在switch语句中使用字符串。 (编译过程错误)

我的系统是64位Windows 7.我的Cordova版本是3.5。 我正在使用git-scm。 ( http://git-scm.com/ )

  • 我正在运行此命令: cordova run android --release
  • 我的Java环境变量将C:\Program Files\Java\jdk1.8.0_20列为Java目录。
  • 我的路径环境变量将Java路径设置为列表中的第一项。
  • 除了我刚刚从Oracle网站重新安装的内容之外,每个Java补丁和版本都被卸载。
  • 我重新启动了电脑。
  • java -version给了我java version "1.8.0_20"
  • javac -version给了我javac 1.8.0_20
  • 我的所有目标都是=android-19=debug=release
  • android:minSdkVersion总是设置为“14”,无处不在。
  • android:targetSdkVersion总是设置为“19”,无处不在。

我如何强制Cordova运行Java 8?

要修复命令行构建,请将这些行添加(或设置适当的值,如果已存在)到ant build.xml属性文件中(例如,如果使用Android SDK,则在${sdk.dir}/tools/ant/build.xml ):

   
  1. 右键单击您的项目(Package Explorer)并选择“ Android Tools – > Fix Project Properties
  2. 右键单击项目并选择“ 属性 – > Java编译器 ”,选中“ 启用项目特定设置 ”,然后从“ 编译器符合性设置 ”选择框中选择1.7或1.8
  3. 然后重建你的项目( 项目 – >清洁

我创建了2个插件,因为我遇到了同样的问题。
这个想法的学分转到了这个答案 。

  • cordova-plugin- java6尝试编写Java 6。
  • cordova-plugin-java7尝试编写Java 7。

您无法从npm存储库中获取这些插件,因此请使用README.md中列出的命令

它适用于我,如果它不适合你,请使用问题并在github存储库上拉取请求函数。