Cordova Android Build Fails?
Liebe Community,
Hier eine Frage eines Bekannten:
Ich habe versucht, Cordova neu zu installieren, aber es hat nicht funktioniert. Ich habe alle Systemvariablen überprüft, aber es hat nicht funktioniert
Ich habe das Spiel mit Gdevelop erstellt, was bedeutet, dass ich den Code nicht geschrieben habe, er wird von der Spiel-Engine generiert
Code des Fehlers
Was Stacktrace sagt:
• Where: Settings file 'C:\Users\MyUsername\BAR\platforms\android\settings.gradle'
• What went wrong: Could not compile settings file 'C:\Users\MyUsername\BAR\platforms\android\settings.gradle'.
startup failed: General error during conversion: Unsupported class file major version 62
java.lang.IllegalArgumentException: Unsupported class file major version 62
[...]
BUILD FAILED in 5s Command failed with exit code 1: C:\Users\MyUsername\BAR\platforms\android\gradlew cdvBuildDebug -b C:\Users\MyUsername\BAR\platforms\android\build.gradle
PS: BAR is the name of the Folder.FAILURE: Build failed with an exception.
Wenn ich gradlew.bat :cdvBuildDebug --stacktrace ausführe, erhalte ich Folgendes:
• Where: Settings 'C:\Users\MyUsername\BAR\platforms\android\settings.gradle'
• What went wrong: Could not compile settings file 'C:\Users\MyUsername\BAR\platforms\android\settings.gradle'.
startup failed: General error during conversion: Unsupported class file major version 62
And that is how the Rest looks(I cant paste that all in here)
(at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:189)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:170)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:156)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:277)
at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:251)
at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:189)
at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:169)
at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:125)
at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClassNullable(AsmReferenceResolver. java:57)
at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:44)
at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveNonArrayType(AsmReferenceResolve r.java:79)
at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveType(AsmReferenceResolver.java:70). ..)*```
And that is the End:
1 error
at org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilati onHandler.java:139) ... 165 more
* Get more help at https://help.gradle.org
BUILD FAILED in 4s
1 Antwort

Unsupported class file major version 62
Das ist die entscheidende Info. 62 bedeutet das irgendetwas Java 18 voraussetzt (siehe https://en.wikipedia.org/wiki/Java_class_file), aber eine niedrigere Java Version eingesetzt wird. Du kannst rausfinden welches Java benutzt wird indem Du auf der Kommandozeile "java -version" eingibst.
Insbesondere Gradle kann mit Java 18 nicht umgehen (siehe https://docs.gradle.org/current/userguide/compatibility.html). Ich würde mal die Einstellungen von diesem Gdevelop prüfen, ob das Code für Java 18 erzeugt, und falls ja, das auf eine ältere Version einstellen, z.B. Java 11.
(Ich dachte nicht daß Leute noch Cordova benutzen. Das war mal sehr coole Technologie, aber heute gibt es m.E. viel bessere Ansätze um cross-Plattform zu programmieren.)