返回

如何解决 Flutter 中的“Unsupported class file major version 60”错误?

Android

解决 Flutter 中“Unsupported class file major version 60”错误

问题

在运行 Flutter 应用时,你可能会遇到一个棘手的错误:“Unsupported class file major version 60”。这表明你的编译过程遇到了一个不支持的 Java 类文件版本,通常是由于 Java 9 或更高版本与 Java 8 之前的版本不兼容。

解决方案

1. 更新 Android Gradle 插件

转到你的 build.gradle 文件,确保 android.gradlePluginVersion 属性已更新到最新版本。例如,对于 Android Studio 2023.3 及更高版本:

buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.0'
    }
}

2. 更新 Java 开发工具包 (JDK)

安装 Java 11 或更高版本。这将提供更新的编译器,它支持 Java 9 及以上版本的类文件。

3. 清理 Gradle 缓存

导航到 C:\Users\<username>\.gradle\caches 并删除所有子目录。这将强制 Gradle 重新下载并编译所需的类文件。

4. 禁用 Instant Run

在 Android Studio 中,转到“文件”>“设置”>“实验性功能”,取消选中“启用 Instant Run”。

5. 使用本地 Gradle 构建脚本

手动运行 Gradle 构建脚本:

gradlew assembleDebug

其他故障排除技巧

  • 重启 Android Studio: 关闭并重新打开 IDE。
  • 禁用反病毒软件: 某些反病毒软件会干扰 Gradle 构建。
  • 提交问题报告: 在 Flutter 问题跟踪器上提交问题报告,提供有关错误的详细信息。

常见问题解答

  1. 为什么会出现这个错误?
    这通常是由 Java 类文件版本与 Java 编译器版本不匹配引起的。

  2. 如何检查我的 Java 版本?
    在终端或命令提示符中运行 java -version

  3. Instant Run 是什么?
    Instant Run 是一种 Android Studio 功能,它允许在不重新安装 APK 的情况下进行代码更改。

  4. 本地 Gradle 构建脚本与 Android Studio 构建脚本有什么区别?
    本地 Gradle 构建脚本是一个单独的脚本,用于手动运行构建。Android Studio 构建脚本在 IDE 中嵌入并由 IDE 调用。

  5. 如果我尝试了所有这些解决方案,但仍然无法解决问题怎么办?
    提交问题报告并提供有关你的环境和错误详细信息。

结论

通过遵循这些步骤,你应该能够解决在 Flutter 应用中出现的“Unsupported class file major version 60”错误。请记住,软件开发是一个持续的学习过程,遇到错误是常见且不可避免的。通过坚持不懈和解决问题的创造性方法,你将能够克服这些挑战并成为一名更熟练的 Flutter 开发者。