漏洞!源单元“_BuildScript_”中“语义分析”阶段出现异常不支持的类文件主要版本

Rub*_*ble 14 android gradle android-studio react-native flutter

尝试构建 apk 时出现错误:

FAILURE: Build failed with an exception.
* What went wrong:
Could not open settings generic class cache for settings file 'C:\Ruble\flutter_project\android\settings.gradle'
(C:\Users\Ruble\.gradle\caches\6.7\scripts\1fnwrr8g4rohfp291nvlxj5qe).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61
Run Code Online (Sandbox Code Playgroud)

使用 flutter 构建的命令看起来像这样 - flutter build apk

此错误可能发生在 Android Studio、Visual Studio Code 和其他可以构建 Android 应用程序的工具中。

另外,无论是 React Native 还是 Flutter。

如何修复它?

Rub*_*ble 35

这是因为您使用的 Java 版本不受哪个 Gradle 版本支持。

\n

首先,访问Gradle | 兼容性矩阵页面 爪哇\n在此输入图像描述

\n

在您的情况下,您使用的是版本gradle 6.7。所以你的java版本必须是15或更低。因此,例如,您可以使用java 11版本。

\n

解决方案 1 - 更改 java 版本。

\n

作为问题的快速解决方案,您可以更改org.gradle.java.homegradle.properties或添加此行):

\n
# android/gradle.properties\n\norg.gradle.java.home=C:\\\\Ruble\\\\jdk-11.0.18 \n
Run Code Online (Sandbox Code Playgroud)\n

如您所知,在执行此操作之前,您需要下载适当版本的 java。例如,这里 -下载 Liberica JDK

\n

该选项很方便,因为此时您可能已经安装了 java,但版本不正确。这样我们就不会触及java的全局版本(并且不会更改环境变量等)

\n

另一种方法可能是更改 Android Studio 设置中的 java:

\n

首选项 \xe2\x86\x92 构建、执行、部署 \xe2\x86\x92 构建工具 \xe2\x86\x92 Gradle

\n

在此输入图像描述

\n

但在某些情况下,该部分可能不存在。

\n

解决方案 2 - 更改 gradle 版本。

\n

根据上面的兼容性表,可以更改gradle的版本:

\n

路径:android/gradle/wrapper/gradle-wrapper.properties

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

例如,对于java 11, gradle版本必须为 5.0 或更高版本。

\n
\n

如果安装了java,可以使用以下命令查看其版本:

\n
# android/gradle.properties\n\norg.gradle.java.home=C:\\\\Ruble\\\\jdk-11.0.18 \n
Run Code Online (Sandbox Code Playgroud)\n
\n

另外,您必须考虑 kotlin 和 gradle 版本的兼容性:

\n

在此输入图像描述

\n
\n

希望这可以帮助您节省购买头痛药的时间和金钱:)

\n