不支持的类文件主要版本 61 错误

Dev*_*100 33 flutter

我正在尝试运行一个flutter应用程序,在尝试时出现了这个错误,我所做的是我想在没有android studio的情况下运行flutter应用程序,所以我下载了android SDK和JDK 17,在我运行flutter doctor之后它给了我一切都很好,我尝试运行,但它给了我这个错误:

FAILURE: Build failed with an exception.

* Where:
Build file 'E:\Flutter Apps\first_app\android\build.gradle'

* What went wrong:
Could not compile build file 'E:\Flutter Apps\first_app\android\build.gradle'.
> startup failed:
  General error during semantic analysis: Unsupported class file major version 61
.............
Run Code Online (Sandbox Code Playgroud)

所以我尝试了旧版本的 JDK,它给了我另一个错误,所以我看到了使用 JDK 17 运行的第三种解决方案,即降级 gradle.properties 中的 gradle,但它只给了我第四个错误,所以任何人都这样做知道这个错误的最终解决方案吗?

小智 29

根据 DeveloperOmar 100 的回答,我找到了以下解决方案:

  1. 将您的 Java 版本切换到兼容版本,在我的例子中切换到 Java版本 16.0.2

    要切换它,你必须设置你的路径。(例如对于Mac,您可以使用该java_home命令)。

  2. 检查您的 Gradle 版本并更新该版本,以便它兼容(请参阅Gradle 包装器文档),因此在我的情况下,我必须更改以下distributionUrl属性android/gradle/wrapper/gradle-wrapper.properties

    distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
    
    Run Code Online (Sandbox Code Playgroud)

  • 请注意,从版本 7.3 开始,Gradle 支持 Java 17,因此将 `distributionUrl` 版本设置为最新的 7.3.x(例如撰写本文时的 7.3.3)应该可以解决该问题。 (6认同)

Val*_*tin 8

对我来说,升级 Gradle 解决了这个问题。我只需更改gradle-wrapper.properties文件中的这一行:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
Run Code Online (Sandbox Code Playgroud)


Anu*_*uar -8

只需从系统中删除 java 17 即可。这对我有帮助