problèmes de lancement Android. Fichier de classe non pris en charge version principale 57

15

J'ai suivi le mac android pour commencer, mais lorsque j'exécute-android, il échoue avec les erreurs suivantes. J'ai essayé de trouver la réponse en ligne mais je n'arrive pas à trouver de solution. Ive s'est assuré que j'ai le java jdk8 correct installé sur ma machine mais je reçois toujours cette erreur. Tout conseil est grandement appréciée!

> 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)

Environnement de développement: Mac os x 10.15

rtwhite
la source
2
J'ai également la même erreur, avec le message suivantCould not compile settings file '/Users/.../android/settings.gradle'.
semihcosu

Réponses:

14

Je souffre du même problème lors de l'exécution gradle build. Selon la recherche de google et github. J'ai trouvé que la gradleversion actuelle (5.xx) ne prend pas en charge jdk 13. Enfin, la version 6.x la prend en charge, mais elle n'a pas été publiée, je dois donc rétrograder la version jdk en 12.x.

Rétrograder java à 12 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
la source
J'ai rétrogradé de Java 13 à une version inférieure et cela a fonctionné!
jumping_monkey
3

En effet, votre version JDK ne prend pas en charge la version Gradle de votre projet. Gradle 5 n'est pas pris en charge dans jdk-13. La meilleure solution est de changer votre version gradle dans gradle-wrapper.properties. Vous pouvez définir n'importe quelle version Gradle après 6,

Ou

Accès à (sur Mac) Préférences> Build, Execution, Deployment> Gradle

(Windows) Fichier> Paramètres> Build, Execution, Deployment> Gradle

Ensuite, dans la section Gradle, vous pouvez choisir Gradle et Java comme indiqué dans l'image ci-dessousentrez la description de l'image ici

Vous pouvez également installer gradle séparément et utiliser le chemin spécifié. Cependant, je vous recommande d'utiliser le fichier gradle-wrapper.properties et Gradle JVM vers JDK interne ou Project JVM. De cette façon, vous n'avez pas à désinstaller votre JDK 13 et installer le JDK11 ou JDK12 déclassé

Si vous ne trouvez pas cette option dans Android Studio, rétrogradez votre JDK ou utilisez la première option.

Suresh Chaudhari
la source
3

Pour corriger cette erreur, je suis allé dans le fichier android / gradle / wrapper / gradle-wrapper.properties et j'ai modifié la distributionUrl qui était définie sur gradle-5.5 en gradle-6.0 . Pour une raison quelconque, il ne reconnaît pas la distribution 6.2, même s'il s'agit de la version de gradle sur laquelle je suis actuellement. J'ai pensé que cela devait correspondre à la version mais apparemment pas.

Avant: distributionUrl = https: //services.gradle.org/distributions/gradle-5.5-all.zip

Après: distributionUrl = https: //services.gradle.org/distributions/gradle-6.0-all.zip

Faites-moi savoir si cela a fonctionné pour vous.

Alex
la source
Je vous remercie! C'était mon problème. Utilisation de l'ignite-cli et de mon projet natif React.
Jamie S
1

Si vous ne souhaitez pas rétrograder votre distribution JDK, vous pouvez utiliser l'un des instantanés de l'encapsuleur Gradle, qui semble fonctionner pour de nombreuses personnes (pour moi aussi)

Source de la solution: https://github.com/gradle/gradle/issues/8681#issuecomment-524039994

Pour utiliser l'instantané, choisissez l'un des fichiers disponibles ici: https://services.gradle.org/distributions-snapshots/ , dirigez-vous vers votre PROJECT_ROOT/gradle/wrapper/gradle-wrapper.propertiesfichier et mettez l'adresse du fichier zip comme valeur dedistributibutionUrl

wkukielczak
la source
1
Bien, cela vous permet de jouer avec Java 13 et Gradle :) Un petit ajout: il existe une distribution RC de Gradle 6.0, cela devrait être plus stable qu'un ancien instantané: services.gradle.org/distributions/gradle-6.0 -rc-1-bin.zip
Pieter De Bie
0

J'ai effectué une mise à niveau d'AdoptOpenJDK 13 à 14 et mes projets Android se développent maintenant avec succès.

Sam
la source