漏洞!源单元“_BuildScript_”中的“语义分析”阶段异常 Apple Arm 上不支持的类文件主要版本 61
Posted
技术标签:
【中文标题】漏洞!源单元“_BuildScript_”中的“语义分析”阶段异常 Apple Arm 上不支持的类文件主要版本 61【英文标题】:BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61 on Apple Arm 【发布时间】:2021-10-06 09:48:13 【问题描述】:我已经安装了 android Studio Canary 2020.3.1.22
并尝试在 Apple Silicon(ARM) Mac
上运行 Flutter
项目。不幸的是,当我尝试运行 default
颤振计数器应用程序时,它给了我这个错误。
这是我得到的错误:
Could not open settings generic class cache for settings file '/Users/khamidjonkhamidov/StudioProjects/dummy/android/settings.gradle' (/Users/khamidjonkhamidov/.gradle/caches/6.7/scripts/f0emg6u6oecmxqzgk5g9nn4ui).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61
Gradle version: 6.7
但我尝试了 7+
JDK版本17
非常感谢您的帮助)
【问题讨论】:
【参考方案1】:根据官方等级文档:尚不支持 Java 17 及更高版本。
您可以检查兼容性here。
所以我从Azul 安装了Java11
。
附言不要忘记在 Android Studio 中更改 jdk 版本
Preferences -> Build -> Build Tools -> Gradle -> Gradle JDK
【讨论】:
我在尝试将使用 Java 8 的成绩构建移植到 Java 17 时遇到了同样的问题。 从 Gradle v7.3.0 开始,Java 17 工作正常【参考方案2】:基本上,我使用brew install java
安装了 jdk,我猜这与我当前的 gradle 不兼容。所以
-
我先卸载了 java:
brew uninstall java
从azul 安装JDK 8 or JDK 11
。
已安装的 gradle:gradle-6.9-all.zip
完成后,一切顺利。
【讨论】:
【参考方案3】:首先,你可以执行这个命令:/usr/libexec/java_home -V
,检索所有安装的jdsk:
[~]$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
17.0 (x86_64) "Oracle Corporation" - "OpenJDK 17.0" /Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-17.0/Contents/Home
14.0.1 (x86_64) "Oracle Corporation" - "OpenJDK 14.0.1" /Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-14.0.1/Contents/Home
11.0.12.1 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/ciccio/Library/Java/JavaVirtualMachines/corretto-11.0.12/Contents/Home
10.0.2 (x86_64) "Oracle Corporation" - "Java SE 10.0.2" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
1.8.0_302 (x86_64) "Amazon" - "Amazon Corretto 8" /Users/ciccio/Library/Java/JavaVirtualMachines/corretto-1.8.0_302/Contents/Home
现在,假设您要删除版本 17:
[~]$ java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment Homebrew (build 17+0)
OpenJDK 64-Bit Server VM Homebrew (build 17+0, mixed mode, sharing)
进入您要删除的版本的路径(在本例中为“/Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-17.0/Contents/Home”),然后删除整个文件夹:“/Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-17.0”。
删除后,返回终端并使用:
[~]$ /usr/libexec/java_home -v 14.0.1 --exec javac -version
javac 14.0.1
强制使用新版本 (14.0.1)。
接下来检查是否正确:
[~]$ java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7)
OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
[~]$
你的 Gradle 现在可以恢复工作了。
【讨论】:
以上是关于漏洞!源单元“_BuildScript_”中的“语义分析”阶段异常 Apple Arm 上不支持的类文件主要版本 61的主要内容,如果未能解决你的问题,请参考以下文章