问题在于,您已经构建了一个或多个Java文件(或者您正在使用一个或多个第三方.jars),它们使用的是Java 19...但是您的“构建环境”正在使用旧版本的JRE。因此出现了“不支持的类文件”错误。
我也在使用VSCode作为我的Flutter IDE;我也在我的环境中使用Android Studio。不幸的是,Flutter、VSCode、Android SDK、Android Studio(带有自己的嵌入式Java/Kotlin!)以及Gradle和A/S Gradle插件都在不断地发布新版本。其中任何一个失步都可能破坏您的整个开发环境 :(
我刚刚尝试重新构建一个几个月前编译成功的项目……结果(如预期)构建失败了。没有源更改——但我最近升级了A/S,这无意中破坏了Flutter构建 :(
建议:
查看能否确定是哪个 Java 类或 .jar 文件正在使用 Java 19 ...,并将其降级到旧版本。
同时,升级您构建环境中的 所有内容:
flutter upgrade
=> Flutter 3.7.3,Dart 2.19.2
VSCode 更新,pub upgrade
=> VSCode 1.751,Dart Code 3.58.0
A/S 升级 => Electric Eel 2022.1.1 补丁 1,Gradle 插件 4.2.2
注意:Gradle 插件 4.2.2 => Gradle 版本 => 6.7.1,默认=Java8,AGP 依赖项 4.2.2
A/S Electric Eel 为您提供 java 11... 在(新!)目录“c:\Program Files\Android\Android Studio\jbr”中
打开Android Studio项目设置页面(文件-> 项目设置)并添加最新的JDK版本。
在 android/build.gradle 文件中,将 com.android.tools.build:gradle 的值更新为最新版本,可以在 这里 找到最新版本。
dependencies {
classpath 'com.android.tools.build:gradle:7.4.1'
...
}
在android/gradle/wrapper/gradle-wrapper.properties
中,将distributionUrl属性更新为使用最新的Gradle版本。
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip
flutter build apk -v
后,以下内容会作为警告打印出来。 运行时类路径中的 JAR 文件应具有相同的版本。在类路径中找到了这些文件: C:/Users/Main/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.5.30/5fd47535cc85f9e24996f939c2de6583991481b0/kotlin-stdlib-jdk8-1.5.30.jar (版本 1.5) C:/Users/Main/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10/e1c380673654a089c4f0c9f83d0ddfdc1efdb498/kotlin-stdlib-jdk7-1.6.10.jar (版本 1.6) - tazboy