为啥 Flutter Doctor 不能作为我的计算机工作?

Posted

技术标签:

【中文标题】为啥 Flutter Doctor 不能作为我的计算机工作?【英文标题】:Why Flutter Doctor is not Working as my computer?为什么 Flutter Doctor 不能作为我的计算机工作? 【发布时间】:2021-07-30 14:03:03 【问题描述】:

我运行了 Flutter doctor 命令,但显示我没有安装 android Studio。 并且还显示未找到这样的 Android 被许可人..错误是 -

    C:\Users\Arpan Dey>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.0.6, on Microsoft Windows [Version 10.0.19042.631], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[X] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Android Studio (not installed)
[√] Connected device (1 available)

! Doctor found issues in 3 categories.

但我已经安装了 Android Studio 和 Flutter & Dart 插件...

另一个问题是当我运行 flutter doctor --android-licenses 命令时

它正在显示--

C:\Users\Arpan Dey>flutter doctor --android-licenses
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
        ... 5 more

很伤心--

当我在 android studio 中使用 Android 模拟器运行默认 Flutter 应用程序时...它没有运行...

【问题讨论】:

***.com/questions/64708446/… 可以参考一下吗? 您需要在系统上安装 Java 1.8 并删除当前安装的版本。问题将消失。 【参考方案1】:

打开 Android Studio 并转到 SDK 管理器。之后探索外观和行为 > 转到 Android SDK > 单击 SDK 工具并安装 Android 命令行工具。

如果模拟器没有运行,请检查您是否在同一个 SDK 工具中安装了 Android Emulator 和 Intel x86 Emulator Accelerator(HAXM 安装程序)。

之后运行flutter doctor --android-licenses。它会起作用的。

【讨论】:

以上是关于为啥 Flutter Doctor 不能作为我的计算机工作?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Doctor,Android 许可证状态未知

Flutter Doctor(不正确?)报告未安装 Android Studio Flutter 插件

在 M1 Mac 上运行 Flutter Doctor 时出错 - 无法找到捆绑的 Java 版本

Flutterflutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘(代码片段

Flutter Doctor CocoaPods 未安装

运行 Flutter Doctor 时出现 Flutter android 许可错误