problemy z uruchamianiem Androida. Nieobsługiwana główna wersja pliku klasy 57

15

Śledziłem uruchamianie mac Androida, ale kiedy uruchamiam Androida, nie działa z następującymi błędami. Próbowałem znaleźć odpowiedź online, ale nie mogę znaleźć rozwiązania. Upewniłem się, że na moim komputerze jest zainstalowana poprawna Java JDK8, ale nadal otrzymuję ten błąd. Wszelkie porady są mile widziane!

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

Środowisko deweloperskie: Mac OS X 10.15

rtwhite
źródło
2
Mam również ten sam błąd, z następującym komunikatemCould not compile settings file '/Users/.../android/settings.gradle'.
semihcosu,

Odpowiedzi:

14

Ten sam problem występuje po uruchomieniu gradle build. Według wyszukiwania z Google i github. Znalazłem, że gradlebieżąca wersja (5.xx) nie obsługuje jdk 13. Wreszcie, wersja 6.x obsługuje ją, ale nie została wydana, więc muszę obniżyć wersję jdk do 12.x.

Zmień java na 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
źródło
Zmieniłem wersję Java 13 na niższą i działała!
jumping_monkey
3

Wynika to z faktu, że Twoja wersja JDK nie obsługuje wersji Gradle twojego projektu. Stopień 5 nie jest obsługiwany w jdk-13. Najlepszym rozwiązaniem jest zmiana wersji gradle w gradle-wrapper.properties. Możesz ustawić dowolną wersję stopni późniejszą niż 6,

Lub

Przejdź do (na Macu) Preferencje> Kompilacja, wykonanie, wdrożenie> Stopień

(Windows) Plik> Ustawienia> Kompilacja, wykonanie, wdrożenie> Stopień

Następnie w sekcji Gradle możesz wybrać Gradle i Java, jak pokazano na obrazku poniżejwprowadź opis zdjęcia tutaj

Możesz także zainstalować gradle osobno i użyć określonej ścieżki. Zalecam jednak użycie pliku gradle-wrapper.properties i Gradle JVM do wewnętrznego JDK lub Project JVM. W ten sposób nie musisz odinstalowywać JDK 13 i instalować starszej wersji JDK11 lub JDK12

Jeśli nie znajdziesz tej opcji w Android Studio, zmień JDK na starszą wersję lub skorzystaj z pierwszej opcji.

Suresh Chaudhari
źródło
3

Aby naprawić ten błąd, wszedłem do pliku android / gradle / wrapper / gradle-wrapper.properties i zmodyfikowałem plik dystrybucjiUrl, który został ustawiony na gradle-5.5 na gradle-6.0 . Z jakiegoś powodu nie rozpoznaje dystrybucji 6.2, mimo że jest to wersja klasy, w której aktualnie jestem. Uznałem, że to powinno odpowiadać wersji, ale najwyraźniej nie.

Przed: dystrybucjaUrl = https: //services.gradle.org/distribution/gradle-5.5-all.zip

Po: DistributionUrl = https: //services.gradle.org/distribution/gradle-6.0-all.zip

Daj mi znać, czy to zadziałało.

Alex
źródło
Dziękuję Ci! To był mój problem. Używanie ignite-cli i mojego reagującego rodzimego projektu.
Jamie S
1

Jeśli nie chcesz obniżyć swojej dystrybucji JDK, możesz użyć jednej z migawek opakowania stopni, która wydaje się działać dla wielu osób (również dla mnie)

Źródło rozwiązania: https://github.com/gradle/gradle/issues/8681#issuecomment-524039994

Aby użyć migawki, wybierz jeden z plików dostępnych tutaj: https://services.gradle.org/distribution-snapshots/ , przejdź do swojego PROJECT_ROOT/gradle/wrapper/gradle-wrapper.propertiespliku i podaj adres pliku zip jako wartośćdistributibutionUrl

wkukielczak
źródło
1
Fajnie, pozwala to na zabawę zarówno z java 13, jak i Gradle :) Mały dodatek: istnieje dystrybucja RC klasy 6.0, powinna być bardziej stabilna niż stara migawka: services.gradle.org/distribution/gradle-6.0 -rc-1-bin.zip
Pieter De Bie
0

Uaktualniłem z AdoptOpenJDK 13 do 14, a moje projekty na Androida teraz budują się pomyślnie.

Sam
źródło