Probleme beim Starten von Android. Nicht unterstützte Klassendatei Hauptversion 57

15

Ich habe den ersten Start des Mac Android verfolgt, aber wenn ich Android starte, schlägt dies mit den folgenden Fehlern fehl. Ich habe versucht, die Antwort online zu finden, aber ich kann anscheinend keine Lösung finden. Ich habe sichergestellt, dass ich das richtige Java JDK8 auf meinem Computer installiert habe, aber ich erhalte immer noch diesen Fehler. Jeder Rat wird sehr geschätzt!

> startup failed:
  General error during semantic analysis: Unsupported class file major version 57

  java.lang.IllegalArgumentException: Unsupported class file major version 57
        at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:184)
        at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:166)
        at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:152)
        at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:273)
        at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
        at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:254)
        at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:192)
        at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:172)
        at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:128)
        at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClassNullable(AsmReferenceResolver.java:59)
        at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:46)
        at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveNonArrayType(AsmReferenceResolver.java:81)
        at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveType(AsmReferenceResolver.java:72)
        at org.codehaus.groovy.ast.decompiled.MemberSignatureParser.createMethodNode(MemberSignatureParser.java:55)
        at org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitMembers(DecompiledClassNode.java:195)
        at org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getDeclaredMethods(DecompiledClassNode.java:121)
        at org.codehaus.groovy.ast.ClassNode.getMethods(ClassNode.java:912)
        at org.codehaus.groovy.ast.ClassNode.tryFindPossibleMethod(ClassNode.java:1280)
        at org.codehaus.groovy.control.StaticImportVisitor.transformMethodCallExpression(StaticImportVisitor.java:252)
        at org.codehaus.groovy.control.StaticImportVisitor.transform(StaticImportVisitor.java:112)
        at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:144)
        at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42)
        at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:110)
        at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:121)
        at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:55)
        at org.codehaus.groovy.control.StaticImportVisitor.visitConstructorOrMethod(StaticImportVisitor.java:88)
        at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructor(ClassCodeVisitorSupport.java:128)
        at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1099)
        at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:54)
        at org.codehaus.groovy.control.StaticImportVisitor.visitClass(StaticImportVisitor.java:82)
        at org.codehaus.groovy.control.CompilationUnit$14.call(CompilationUnit.java:717)
        at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1095)
        at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:649)
        at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:627)
        at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:604)
        at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
        at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
        at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
        at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
        at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
        at org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:133)
        at org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler.compileToDir(DefaultScriptCompilationHandler.java:93)
        at org.gradle.groovy.scripts.internal.BuildOperationBackedScriptCompilationHandler$2.run(BuildOperationBackedScriptCompilationHandler.java:54)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.groovy.scripts.internal.BuildOperationBackedScriptCompilationHandler.compileToDir(BuildOperationBackedScriptCompilationHandler.java:51)

Entwicklungsumgebung: Mac os x 10.15

weiß
quelle
2
Ich habe auch den gleichen Fehler mit der folgenden MeldungCould not compile settings file '/Users/.../android/settings.gradle'.
Semihcosu

Antworten:

14

Ich habe das gleiche Problem beim Laufen gradle build. Laut Suche von Google und Github. Ich habe festgestellt, dass die gradleaktuelle Version (5.xx) JDK 13 nicht unterstützt. Schließlich unterstützt die 6.x-Version sie, aber sie wurde nicht veröffentlicht, sodass ich die JDK-Version auf 12.x herabstufen muss.

Java auf 12 herabstufen https://www.jverdeyen.be/mac/downgrade-brew-cask-application/

brew cask uninstall adoptopenjdk # uninstall jdk version 13.x
brew cask install https://raw.githubusercontent.com/caskroom/homebrew-cask/025e5b6c3ad66ac2a2da75abb91d109d68dd4f6d/Casks/adoptopenjdk.rb
ObjcZL
quelle
Ich habe von Java 13 auf eine niedrigere Version heruntergestuft und es hat funktioniert!
Jumping_Monkey
3

Dies liegt daran, dass Ihre JDK-Version die Gradle-Version Ihres Projekts nicht unterstützt. Gradle 5 wird in jdk-13 nicht unterstützt. Die beste Lösung besteht darin, Ihre Gradle-Version in gradle-wrapper.properties zu ändern. Sie können jede Gradle-Version später als 6 einstellen.

Oder

Gehe zu (auf Mac) Einstellungen> Erstellen, Ausführen, Bereitstellen> Gradle

(Windows) Datei> Einstellungen> Erstellen, Ausführen, Bereitstellen> Gradle

Dann können Sie unter Abschnitt Gradle Gradle und Java auswählen (siehe Abbildung unten)Geben Sie hier die Bildbeschreibung ein

Sie können gradle auch separat installieren und den angegebenen Pfad verwenden. Ich empfehle jedoch, die Datei gradle-wrapper.properties und Gradle JVM für interne JDK- oder Projekt-JVM zu verwenden. Auf diese Weise müssen Sie Ihr JDK 13 nicht deinstallieren und ein herabgestuftes JDK11 oder JDK12 installieren

Wenn Sie diese Option in Android Studio nicht finden, führen Sie ein Downgrade Ihres JDK durch oder verwenden Sie die erste Option.

Suresh Chaudhari
quelle
3

Um diesen Fehler zu beheben, ging ich in die Datei android / gradle / wrapper / gradle-wrapper.properties und änderte die DistributionUrl, die auf gradle-5.5 gesetzt war, auf gradle-6.0 . Aus irgendeinem Grund wird die 6.2-Distribution nicht erkannt, obwohl dies die Version von Gradle ist, auf der ich mich gerade befinde. Ich dachte, das sollte der Version entsprechen, aber anscheinend nicht.

Vorher: DistributionUrl = https: //services.gradle.org/distributions/gradle-5.5-all.zip

Nachher: ​​DistributionUrl = https: //services.gradle.org/distributions/gradle-6.0-all.zip

Lassen Sie mich wissen, ob dies für Sie funktioniert hat.

Alex
quelle
Vielen Dank! Das war mein Problem. Mit dem ignite-cli und meinem reaktiven nativen Projekt.
Jamie S
1

Wenn Sie Ihre JDK-Distribution nicht herunterstufen möchten, können Sie einen der Snapshots des Gradle-Wrappers verwenden, der für viele Leute (auch für mich) zu funktionieren scheint.

Quelle der Lösung: https://github.com/gradle/gradle/issues/8681#issuecomment-524039994

Um den Snapshot zu verwenden, wählen Sie eine der hier verfügbaren Dateien aus: https://services.gradle.org/distributions-snapshots/ , gehen Sie zu Ihrer PROJECT_ROOT/gradle/wrapper/gradle-wrapper.propertiesDatei und geben Sie die Adresse der Zip-Datei als Wert von eindistributibutionUrl

wkukielczak
quelle
1
Schön, dass Sie damit sowohl mit Java 13 als auch mit Gradle herumspielen können :) Eine kleine Ergänzung: Es gibt eine RC-Distribution von Gradle 6.0, diese sollte stabiler sein als ein alter Schnappschuss: services.gradle.org/distributions/gradle-6.0 -rc-1-bin.zip
Pieter De Bie
0

Ich habe ein Upgrade von AdoptOpenJDK 13 auf 14 durchgeführt und meine Android-Projekte wurden jetzt erfolgreich erstellt.

Sam
quelle