Cordova CLI构建Android失败,异常不受支持的major.minor版本

时间:2017-02-14 06:13:22

标签: 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.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 Version 1.7和Android Studio v2.2.3,并且在sdk文件夹中有android-23。

2 个答案:

答案 0 :(得分:0)

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

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

  

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

答案 1 :(得分:0)

您正在尝试将使用Java 1.8编译器编译的类运行到较低的JRE版本,例如JRE 1.7或JRE 1.6。 您的输出显示您没有使用Java 1.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'' <--------