android - 为什么 Flutter Doctor 不能作为我的计算机工作?
问题描述
我运行了 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 应用程序时......它没有运行......
解决方案
打开 Android Studio 并转到 SDK 管理器。之后探索外观和行为 > 转到 Android SDK > 单击 SDK 工具并安装 Android 命令行工具。
如果模拟器未运行,请检查您是否在同一个 SDK 工具中安装了 Android Emulator 和 Intel x86 Emulator Accelerator(HAXM 安装程序)。
之后运行flutter doctor --android-licenses
。它会起作用的。
推荐阅读
- reactjs - 在monorepo中导入本地依赖项时“无法解析依赖项” - Parcel,Typescript
- c# - WorkflowControlClient - 访问被拒绝
- mongodb - MongoDB 每月运行一次查询
- android - 如何从 res/font 目录链接 android/assets 文件夹中的 css 文件中的字体
- c# - DateTime 从 MMM-yyyy 转换为 dd-MM-yyyy 或 yyyy-MM-dd
- node.js - 关于使用节点后端部署 create-react-app 的建议
- python - Django models.py 年份字段
- laravel - WhereHas on 关系
- java - 未调用自定义 Spring 注释
- swift - 如何解决 CoreML - 验证输入失败 - 形状不在允许的形状的枚举集中