系统设置:
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有人遇到过同样的错误吗?你是怎么解决的?
对于 Windows
从 [Java SE Development Kit 19.0.2][1] 下载并安装最新的 JDK
将系统变量设置为
变量名称:JAVA_HOME
变量值:C:\Program Files\Java\jdk-19
添加路径变量名称为
%JAVA_HOME%\bin
现在运行
flutter doctor
希望它能解决。 [1]:https://www.oracle.com/java/technologies/downloads/#jdk19-windows
虽然可以通过 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
所说的有关安装最新 SDK 的内容,对于 Windows,我找到了 this 用于将 JAVA_HOME 添加到路径。希望有帮助。
asdf install java adoptopenjdk-19.0.0+36
asdf global java adoptopenjdk-19.0.0+36
# 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
exec zsh
echo $JAVA_HOME
flutter doctor --android-licenses
Macbook Pro M1