报错信息:

! Doctor found issues in 1 category.

miqi@bogon my_app % flutter doctor --android-licenses

错误: 加载主类 com.android.sdklib.tool.sdkmanager.SdkManagerCli 时出现 LinkageError

java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

Android sdkmanager tool was found, but failed to run (/Users/xxx/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager): "exited code 1".

Try re-installing or updating your Android SDK,

visit macOS install | Flutter for detailed instructions.

xxx@bogon my_app %

根据报错信息,看起来问题是由于 Java 运行时版本不兼容导致的。错误信息显示 SdkManagerCli 类已经被更高版本的 Java 运行时编译,而当前的 Java 运行时只支持到较低版本的类文件

之前安装的jdk版本为 jdk19 应该是版本过高的问题, 查了下,说要用jdk8的版本。官网地址: Java Downloads | Oracle 中国

因为我是M2芯片,所以下载的为ARM架构。

我下载的是 tar.gz 版本 ,这样有个好处,可以配置多个版本的jdk了。

配置如下:

我放置到了之前的安装的jdk目录下:

/Library/Java/ 这个文件夹可能在访达里找不到。可以用聚焦搜索 【cmd + 空格】搜索 /Library/Java/JavaVirtualMachines, 点击文件夹就可以把下载的jdk8放入了。

放入之后就可以开始配置 jdk 了,终端输入 open ~/.bash_profile

// JDK 配置 

export JAVA8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_391.jdk/Contents/Home 

export JAVA19_HOME=/Library/Java/JavaVirtualMachines/jdk-19.jdk/Contents/Home 

// 默认JDK版本 

export JAVA_HOME=$JAVA8_HOME 

完成后保存 在终端输入 
source ~/.bash_profile 
Java -version 

此刻版本已经切换成功, 配置好后打开 Android studio,打开设置,下面的画红色直线的两个下载上,然后清除缓存,重新启动 Android studio,在执行命令就可以了。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐