“flutter doctor --android-licenses”MacOS 时出现 UnsupportedClassVersionError

问题描述 投票:0回答:10

系统设置:

  • MacOS 文图拉

  • Android Studio 电鳗

我正在我的 Intel Mac 上安装 Flutter。

跑步后

flutter doctor

结果是这样的:

[✓] Flutter (Channel stable, 3.7.0, on macOS 13.2 22D49 darwin-x64, locale
    en-MX)
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.1)
[✓] VS Code (version 1.74.3)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

运行后

flutter doctor --android-licenses
结果是这样的:

Exception in thread "main" java.lang.UnsupportedClassVersionError: 
com/android/prefs/AndroidLocationsProvider 
has been compiled by a more recent version of the Java Runtime (class file version 55.0),
this version of the Java Runtime only recognizes class file versions up to 52.0

我于 2023 年 1 月从此处

通过此链接安装了 Java for Mac

有人遇到过同样的错误吗?你是怎么解决的?

android flutter macos mobile
10个回答
39
投票

我会尝试给出更详细的解决方案:

  1. 此链接
  2. 安装最新版本的 Java SDK
  3. 选择 Java 19 和
    x64 DMG Installer
    (这对我有用)
  4. 按照安装说明进行操作。
  5. [可选] 如有必要,请按照
    这些说明
    (mac) 设置您的 JAVA_HOME
  6. 路径
  7. 通过运行
    flutter doctor --android-licenses
  8. 测试安装

13
投票

对于 Windows

  1. 从 [Java SE Development Kit 19.0.2][1] 下载并安装最新的 JDK

  2. 将系统变量设置为

    变量名称:JAVA_HOME

    变量值:C:\Program Files\Java\jdk-19

  3. 添加路径变量名称为

    %JAVA_HOME%\bin

  4. 现在运行

    flutter doctor

希望它能解决。 [1]:https://www.oracle.com/java/technologies/downloads/#jdk19-windows


6
投票

虽然可以通过 Oracle 下载安装 JDK,但确保您在 MacOS 上拥有正确版本的最佳方法是使用 Homebrew 安装 JDK(如果您没有 Homebrew,请安装说明:https://docs. brew.sh/安装)。此外,通过这种方式保持最新状态要容易得多。 brew install openjdk

如果您安装了其他 OpenJDK 版本,您可能需要链接这个正确的版本:

brew link --force openjdk@19

要使其成为 shell 的默认值,请将以下行添加到 ~/.zshrc:

export JAVA_HOME="/opt/homebrew/opt/openjdk" export PATH="$JAVA_HOME/bin:$PATH"

然后:

source ~/.zshrc

您只需执行一次。

然后重新运行:

flutter doctor --android-licenses

    


1
投票
Tomas Ward

所说的有关安装最新 SDK 的内容,对于 Windows,我找到了 this 用于将 JAVA_HOME 添加到路径。希望有帮助。


0
投票

我需要从

这里

更新 JDK。


0
投票


0
投票

正如 @Tomas 所说,我们需要下载
    Java SE 开发套件 19.0.2
  1. 首先点击此链接下载Java SE开发工具包19.0.2. 然后下载
  2. x64 安装程序
  3. x64 MSI 安装程序 然后 在您的系统中安装 Java SE 开发工具包。 现在您需要将这个新的 Java SE 开发工具包路径设置或更新到您的 JAVA_HOME 路径。
  4. 当您设置/更新 JAVA_HOME 路径时,您的错误将得到解决。


0
投票


0
投票

    asdf install java adoptopenjdk-19.0.0+36
  1. asdf global java adoptopenjdk-19.0.0+36
  2. 按照
  3. 此评论
  4. 的建议进行操作并将其添加到您的 .zshrc # set JAVA_HOME on every change directory function asdf_update_java_home { asdf current java 2>&1 > /dev/null if [[ "$?" -eq 0 ]] then export JAVA_HOME=$(asdf where java) fi } precmd() { asdf_update_java_home; } # end set JAVA_HOME
  5. exec zsh
  6. # 重新加载当前终端以使用更改后的 .zshrc
  7. echo $JAVA_HOME
  8. 应显示 asdf 目录一
  9. flutter doctor --android-licenses
  10. 
    
  11. 机器详情

Macbook Pro M1
  • ZSH 作为我的外壳

0
投票

© www.soinside.com 2019 - 2024. All rights reserved.