Java Cordova CLI构建Android失败,出现异常不支持的主版本。次版本

Java Cordova CLI构建Android失败,出现异常不支持的主版本。次版本,java,android,cordova,Java,Android,Cordova,我正在尝试使用Cordova CLI构建一个Android应用程序 cordova build android 但是,生成失败,出现以下异常 Error: cmd: Command failed with exit code 1 Error output: java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 java.

我正在尝试使用Cordova CLI构建一个Android应用程序

cordova build android
但是,生成失败,出现以下异常

Error: cmd: Command failed with exit code 1 Error output:
java.lang.UnsupportedClassVersionError: com/android/dx/command/Main :         Unsupported major.minor version 52.0
java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Exception in thread "main"
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
 Exception in thread "main"

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException:     java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

如何解决此问题?我使用的是Java 1.7版和Android Studio v2.2.3版,sdk文件夹中有Android-23。

Java和Android版本中存在问题。请减少您的Java版本。 从Java8到次要版本

如果您的目标是Android 5.0或更高版本,则需要Java 7或更高版本。 这是来自android官方页面

在设置Android Studio之前,请确保已安装JDK 6或 更高(仅JRE是不够的)-在以下情况下需要JDK 7 为Android 5.0及更高版本开发。检查是否有JDK 已安装(以及哪个版本),打开终端并键入javac -版本。如果JDK不可用或版本低于6,请下载JDK


您正在尝试将使用Java 1.8编译器编译的类运行到较低的JRE版本,例如JRE 1.7或JRE 1.6。 您的输出表明您没有使用Java1.8

> com.android.build.api.transform.TransformException:     java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

Process 'comman`enter code here`d 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' <--------
>com.android.build.api.transform.TransformException:java.lang.RuntimeException:com.android.ide.common.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.ide.common.process.ProcessException:org.gradle.process.internal.exeception:process'command'C:\Program Files\java\jdk1.7.0\u 79\bin\java.exe''完成具有非零出口值1

进程“comman”在此处输入代码“d”C:\Program Files\Java\jdk1.7.0\u 79\bin\Java.exe当我早些时候尝试使用Java 7时,仍然出现相同的问题。当我运行
cordova build android
时,前几行是
android\u HOME=D:\android\sdk JAVA\u HOME=C:\Program Files\JAVA\jdk1.7.0\u 79
尝试将android sdk 23与jdk 7一起使用。jre版本的问题您的jdk和jre版本应该是sameYes。感谢您指出这一点,我在尝试使用Java 7时已经在日志中指出了这一点。我已经更新了问题。您使用的库可能不是java 1.8编译的吗?我刚刚创建了一个基本的cordova项目,并为InApp Browser和GeoLocation添加了插件。然后,当我构建应用程序时,我得到了这个错误。奇怪的是,看起来你的环境配置不正确。$JAVA\u HOME怎么说?
C:\WINDOWS\system32>echo%JAVA\u HOME%C:\Program Files\JAVA\jdk1.7.0\u 79