vấn đề khởi chạy Android. Tập tin lớp không được hỗ trợ phiên bản chính 57


15

Tôi đã theo mac android bắt đầu nhưng khi tôi chạy android thì nó bị lỗi với (các) lỗi sau. Tôi đã cố gắng tìm câu trả lời trực tuyến nhưng dường như tôi không thể tìm ra giải pháp. Tôi đã đảm bảo rằng tôi đã cài đặt java jdk8 chính xác trên máy của mình nhưng tôi vẫn gặp lỗi này. Bất cứ lời khuyên nào cũng đươc đánh giá cao!

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

Môi trường phát triển: Mac os x 10.15


2
Tôi cũng gặp lỗi tương tự, với thông báo sauCould not compile settings file '/Users/.../android/settings.gradle'.
semihcosu

Câu trả lời:


14

Tôi bị vấn đề tương tự khi chạy gradle build. Theo tìm kiếm từ google và github. Tôi thấy gradlephiên bản hiện tại (5.xx) không hỗ trợ jdk 13. Cuối cùng, phiên bản 6.x hỗ trợ nó, nhưng nó chưa được phát hành, vì vậy tôi phải hạ phiên bản jdk xuống 12.x.

Hạ cấp java xuống 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

Tôi đã hạ cấp từ Java 13 xuống phiên bản thấp hơn và nó đã hoạt động!
jump_monkey

3

Điều này là do phiên bản JDK của bạn không hỗ trợ phiên bản Gradle của dự án của bạn. Lớp 5 không được hỗ trợ trong jdk-13. Giải pháp tốt nhất là thay đổi phiên bản gradle của bạn trong gradle-wrapper.properies. Bạn có thể đặt bất kỳ phiên bản lớp nào muộn hơn 6,

Hoặc là

Có các tùy chọn (trên Mac)> Xây dựng, thực thi, triển khai> Gradle

(Windows) Tệp> Cài đặt> Xây dựng, Thi hành, Triển khai> Cấp độ

Sau đó, trong phần Gradle Bạn có thể chọn Gradle và Java như được đưa ra trong hình dưới đâynhập mô tả hình ảnh ở đây

Bạn cũng có thể cài đặt gradle riêng và sử dụng đường dẫn được chỉ định. Tuy nhiên, tôi khuyên bạn nên sử dụng tệp gradle-wrapper.properIES và Gradle JVM để JDK nội bộ hoặc JVM dự án. Bằng cách này, bạn không phải gỡ cài đặt JDK 13 của mình và cài đặt JDK11 hoặc JDK12 bị hạ cấp

Nếu bạn không tìm thấy tùy chọn này trong Android Studio, hãy hạ cấp JDK của bạn hoặc sử dụng tùy chọn đầu tiên.


3

Để khắc phục lỗi này, tôi đã truy cập vào tệp android / gradle / Wrapper / gradle-wrapper.properIES và sửa đổi phân phốiUrl được đặt thành gradle-5.5 thành gradle-6.0 . Vì một số lý do, nó không nhận ra bản phân phối 6.2, mặc dù đây là phiên bản của lớp tôi hiện đang sử dụng. Tôi đoán rằng điều này được cho là tương ứng với phiên bản nhưng dường như không.

Trước: phân phốiUrl = https: //service.gradle.org/distribution/gradle-5.5-all.zip

Sau: phân phốiUrl = https: //service.gradle.org/distribution/gradle-6.0-all.zip

Hãy cho tôi biết nếu điều này làm việc cho bạn.


Cảm ơn bạn! Đây là vấn đề của tôi. Sử dụng ignite-cli và dự án bản địa phản ứng của tôi.
Jamie S

1

Nếu bạn không muốn hạ cấp phân phối JDK của mình, bạn có thể sử dụng một trong số các ảnh chụp nhanh của trình bao bọc, có vẻ như nó hoạt động với nhiều người (đối với tôi cũng vậy)

Nguồn của giải pháp: https://github.com/gradle/gradle/issues/8681#issuecomment-524039994

Để sử dụng ảnh chụp nhanh, hãy chọn một trong các tệp có sẵn tại đây: https://service.gradle.org/distribution-snapshots/ , đi tới PROJECT_ROOT/gradle/wrapper/gradle-wrapper.propertiestệp của bạn và đặt địa chỉ tệp zip làm giá trị củadistributibutionUrl


1
Thật tuyệt, điều này cho phép bạn chơi xung quanh với cả java 13 và Gradle :) Một bổ sung nhỏ: có phân phối RC của lớp 6.0, điều này sẽ ổn định hơn một ảnh chụp nhanh cũ: services.gradle.org/distribution/gradle-6.0 -rc-1-bin.zip
Pieter De Bie

0

Tôi đã nâng cấp từ AdoptOpenJDK 13 lên 14 và các dự án Android của tôi hiện đã được xây dựng thành công.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.