报错信息:
! 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,在执行命令就可以了。
文章来源:https://www.toymoban.com/news/detail-818975.html
文章来源地址https://www.toymoban.com/news/detail-818975.html
到了这里,关于MAC flutter doctor --android-licenses 报错解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!