解决flutter doctor出现Android toolchain: Android license status unknown.

朱雀 2022-09-15 15:51 165阅读 0赞

文章目录

  • 问题描述
  • 解决方案

问题描述

使用flutter doctor检查开发环境,出现以下问题

  1. wangyangyangdeMacBook-Pro:~ wangyang$ flutter doctor
  2. Doctor summary (to see all details, run flutter doctor -v):
  3. [✓] Flutter (Channel stable, 2.2.1, on Mac OS X 10.15.7 19H2 darwin-x64, locale
  4. zh-Hans-US)
  5. [!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
  6. Android license status unknown.
  7. Run `flutter doctor --android-licenses` to accept the SDK licenses.
  8. See https://flutter.dev/docs/get-started/install/macos#android-setup for
  9. more details.
  10. [✓] Xcode - develop for iOS and macOS
  11. [✓] Chrome - develop for the web
  12. [✓] Android Studio (version 4.2)
  13. [✓] VS Code (version 1.61.0)
  14. [✓] Connected device (2 available)
  15. ! Doctor found issues in 1 category.

根据错误提示运行flutter doctor --android-licenses,出现以下Java异常。

  1. wangyangyangdeMacBook-Pro:~ wangyang$ flutter doctor --android-licenses
  2. Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
  3. at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
  4. at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
  5. at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
  6. at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
  7. at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
  8. Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
  9. at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
  10. at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
  11. at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
  12. ... 5 more

虽然这个错误不影响在Android上的编译和运行,但是本人是个强迫症,必须消灭掉!!!

解决方案

根据上面的错误显示,猜测难道是Android SDK的问题?

打开Android Studio, Preferences-Appearance & Behavior- System Settings- Android SDK-SDK Tools

发现SDK的命令行工具没有安装。
在这里插入图片描述

勾选,然后选择Apply,会出现安装提示.

在这里插入图片描述
点击OK,会出现安装进度。

在这里插入图片描述

安装完成后,再次运行flutter doctor,已经没有错误了。OK 完美!

  1. wangyangyangdeMacBook-Pro:~ wangyang$ flutter doctor
  2. Doctor summary (to see all details, run flutter doctor -v):
  3. [✓] Flutter (Channel stable, 2.2.1, on Mac OS X 10.15.7 19H2 darwin-x64, locale
  4. zh-Hans-US)
  5. [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
  6. [✓] Xcode - develop for iOS and macOS
  7. [✓] Chrome - develop for the web
  8. [✓] Android Studio (version 4.2)
  9. [✓] VS Code (version 1.61.0)
  10. [✓] Connected device (2 available)
  11. No issues found!

发表评论

表情:
评论列表 (有 0 条评论,165人围观)

还没有评论,来说两句吧...

相关阅读