2017-02-14 73 views
0

我想建立使用CLI科尔多瓦的Android应用程序作为科尔多瓦CLI构建Android失败的异常不支持MAJOR.MINOR版本

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。

回答

0

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

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

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

+0

当我与Java 7的早期尝试它仍然给了同样的问题。当我运行'cordova build android'时,前几行是'ANDROID_HOME = D:\ Android \ sdk JAVA_HOME = C:\ Program Files \ java \ jdk1.7.0_79' – Sumit

+0

尝试使用android sdk 23和jdk 7.问题与jre版本您的jdk和jre版本应该是相同的 –

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'' <-------- 
+0

是的,谢谢指出,我已经把日志放在Java 7中试了。已更新问题。 – Sumit

+0

您是否在使用任何可能不支持java 1.8的库? – Cottontree

+0

我刚刚创建了一个基本的cordova项目,并为inAppBrowser和GeoLocation添加了插件。然后,当我建立应用程序时,我得到这个错误。 – Sumit

相关问题