2016-07-04 52 views
7

Sto provando a compilare la mia versione di Android, ma per qualche motivo si dice che c'è un errore, apparentemente con il mio Java.Impossibile compilare il mio progetto Android

Information:Gradle tasks [:assembleDebug] 
:preBuild UP-TO-DATE 
:preDebugBuild UP-TO-DATE 
:checkDebugManifest 
:CordovaLib:preBuild UP-TO-DATE 
:CordovaLib:preDebugBuild UP-TO-DATE 
:CordovaLib:compileDebugNdk UP-TO-DATE 
:CordovaLib:compileLint 
:CordovaLib:copyDebugLint UP-TO-DATE 
:CordovaLib:mergeDebugProguardFiles UP-TO-DATE 
:CordovaLib:packageDebugRenderscript UP-TO-DATE 
:CordovaLib:checkDebugManifest 
:CordovaLib:prepareDebugDependencies 
:CordovaLib:compileDebugRenderscript UP-TO-DATE 
:CordovaLib:generateDebugResValues UP-TO-DATE 
:CordovaLib:generateDebugResources UP-TO-DATE 
:CordovaLib:packageDebugResources UP-TO-DATE 
:CordovaLib:compileDebugAidl UP-TO-DATE 
:CordovaLib:generateDebugBuildConfig UP-TO-DATE 
:CordovaLib:mergeDebugShaders UP-TO-DATE 
:CordovaLib:compileDebugShaders UP-TO-DATE 
:CordovaLib:generateDebugAssets UP-TO-DATE 
:CordovaLib:mergeDebugAssets UP-TO-DATE 
:CordovaLib:processDebugManifest UP-TO-DATE 
:CordovaLib:processDebugResources UP-TO-DATE 
:CordovaLib:generateDebugSources UP-TO-DATE 
:CordovaLib:incrementalDebugJavaCompilationSafeguard UP-TO-DATE 
:CordovaLib:compileDebugJavaWithJavac UP-TO-DATE 
:CordovaLib:processDebugJavaRes UP-TO-DATE 
:CordovaLib:transformResourcesWithMergeJavaResForDebug UP-TO-DATE 
:CordovaLib:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE 
:CordovaLib:mergeDebugJniLibFolders UP-TO-DATE 
:CordovaLib:transformNative_libsWithMergeJniLibsForDebug UP-TO-DATE 
:CordovaLib:transformNative_libsWithSyncJniLibsForDebug UP-TO-DATE 
:CordovaLib:bundleDebug UP-TO-DATE 
:prepareAndroidCordovaLibUnspecifiedDebugLibrary UP-TO-DATE 
:prepareDebugDependencies 
:compileDebugAidl UP-TO-DATE 
:compileDebugRenderscript UP-TO-DATE 
:generateDebugBuildConfig UP-TO-DATE 
:mergeDebugShaders UP-TO-DATE 
:compileDebugShaders UP-TO-DATE 
:generateDebugAssets UP-TO-DATE 
:mergeDebugAssets UP-TO-DATE 
:generateDebugResValues UP-TO-DATE 
:generateDebugResources UP-TO-DATE 
:mergeDebugResources UP-TO-DATE 
:processDebugManifest UP-TO-DATE 
:processDebugResources UP-TO-DATE 
:generateDebugSources UP-TO-DATE 
:incrementalDebugJavaCompilationSafeguard 
:compileDebugJavaWithJavac 
:compileDebugJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.). 
Note: /Users/DevStarlight/Documents/Replit/platforms/android/src/org/apache/cordova/splashscreen/SplashScreen.java uses or overrides a deprecated API. 
Note: Recompile with -Xlint:deprecation for details. 
:compileDebugNdk UP-TO-DATE 
:compileDebugSources 
:prePackageMarkerForDebug 
:transformClassesWithDexForDebug 
To run dex in process, the Gradle daemon needs a larger heap. 
It currently has approximately 910 MB. 
For faster builds, increase the maximum heap size for the Gradle daemon to more than 2048 MB. 
To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.properties. 
For more information see https://docs.gradle.org/current/userguide/build_environment.html 
Error:Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 
Error: at java.lang.ClassLoader.defineClass1(Native Method) 
Error: at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
Error: at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
Error: at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
Error: at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
Error: at java.security.AccessController.doPrivileged(Native Method) 
Error: at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
Error: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
Error: at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 
Error:Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 
Error: at java.lang.ClassLoader.defineClass1(Native Method) 
Error: at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
Error: at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
Error: at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
Error: at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
Error: at java.security.AccessController.doPrivileged(Native Method) 
Error: at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
Error: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
Error: at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 
:transformClassesWithDexForDebug FAILED 
Error: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 '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1 
Information:BUILD FAILED 
Information:Total time: 3.606 secs 
Information:29 errors 
Information:0 warnings 
Information:See complete output in console 

Con la mia Ubuntu funziona alla grande, ma con OSX no.

La versione Java di Ubuntu 16.04 è 1.7.0_80-b15 e il mio OSX ha 1.7.0_79.

Qualcuno sa cosa potrei fare per risolvere questo?

+0

Major.minor non supportato versione 52.0 È esattamente come afferma, la versione java che sta cercando di compilare non è della versione che si aspetta. Per caso è un progetto di PhoneGap? – yUdoDis

+0

è solo un progetto Cordova. Come posso risolvere quel problema? – DevStarlight

+2

Sì anche: D (molti mi salteranno addosso per questo) ... In ogni caso major.minor non supportato significa in genere java8, prova a installare java 8 anziché 1.7 sui tuoi macOS. – yUdoDis

risposta

18

Aveva lo stesso problema da ieri.

È necessario installare JDK 1.8 da here. Ho installato il kit 8u92.

Successivamente è necessario aggiornare la variabile di ambiente JAVA_HOME. Per aggiornarlo solo per i progetti Cordova in Visual Studio, puoi farlo nelle opzioni di Visual Studio come nello screenshot.

Visual Studio Cordova options

Poi tutto costruisce bene.

Buon divertimento! :)

1

Ho avuto lo stesso problema e ho scoperto che avevo installato Java SDK ma non JRE. La reinstallazione dell'SDK e la scelta di installare JRE fornito con l'installatore l'hanno risolto per me.