繁体   English   中英

Flutter 医生结果显示“缺少 cmdline-tools 组件”

[英]Flutter doctor results with "cmdline-tools component is missing"

我已经尝试了这里这里的答案,但无济于事。

在 Windows 10 上安装 Android Studio & Flutter 后,当我运行flutter doctor时,我得到以下信息:

[√] Flutter (Channel stable, 2.5.0, on Microsoft Windows [Version 10.0.19043.1202], locale en-US)
[X] Android toolchain - develop for Android devices
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
[√] Chrome - develop for the web
[√] Android Studio (version 2020.3)
[√] VS Code (version 1.60.0)
[√] Connected device (2 available)

打开Android Studio > SDK Manager > Android SDK > SDK Tools卸载Android SDK Command-line Tools (latest)

我还在用户 PATH 环境变量中添加了<pathToSDK>\tools\bin<pathToSDK>\platform-tools\<pathToSDK>\cmdline-tools\latest\bin

按照 flutter 说明运行<pathToSDKManager> --install "cmdline-tools;latest" (对我来说位于<pathToSDK>\cmdline-tools\latest\bin )结果为:

ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

除了我需要在 Java 上安装某个版本并将其添加到我的路径之外,我还没有找到关于此的任何文档。 https://flutter.dev/docs/get-started/install/windows页面提到“确保您安装了 Java 8 版本并且您的 JAVA_HOME 环境变量设置为 JDK 的文件夹。” 然后声明“Android Studio 2.2 及更高版本带有 JDK,所以这应该已经完成了。” 但没有进一步阐述。

打开 Android Studio 并转到File > Project Structure > Project > Project SDK我可以看到 Android Studio 已经安装了 Java 的几个版本:

在此处输入图像描述

您可以按照以下步骤操作,以确保您的 Flutter 项目正常工作:您的 SDK 管理器应如下所示:

在此处输入图片说明

  1. 在 Android Studio 中安装 Android SDK 命令行工具:

Preferences > Appearance & Behavior > System Settings > Android SDK > SDK Tools >

安装这3个工具:

Android SDK Command-line Tools (latest)

Android SDK Build Tools 31

Android SDK Platform tools (latest version 31)

并确保每个工具都必须是相同的最新版本,以避免出现任何错误,因为以后可能会有新的更新。

  1. 还要确保通过在 cmd 中运行以下命令来接受 Android 许可证:

flutter doctor --android-licenses

如果上述任何事情都没有解决,请确保您在 Windows 的系统设置中的环境变量中设置了正确的 JDK/JRE 位置:

在系统环境路径变量中为用户变量系统变量添加以下路径:

C:\\Program Files\\Java\\jdkXXXXX\\bin

这里 XXX 是你的版本,这应该添加到你的系统变量和用户中

C:\\Users\\Neha\\AppData\\Local\\Android\\Sdk\\tools C:\\Users\\Neha\\AppData\\Local\\Android\\Sdk\\build-tools C:\\Users\\Neha\\AppData\\Local\\Android\\Sdk\\platform -工具

以上三个路径应该添加到您的用户变量路径中,检查下面附上的两个屏幕截图以获得正确的路径设置。 我也添加了 android studio 的工具路径,就像我在屏幕截图中所做的那样。

这是用于用户变量路径:

在此处输入图片说明

这是系统变量路径:

在此处输入图片说明

按照来源了解有关设置 java 路径的更多信息:

在此处输入图像描述

只需安装它们: Android SDK 命令行工具(最新) Android SDK 构建工具 31 Android SDK 平台工具(最新版本 31)

运行: 'flutter doctor --android-licenses'

再次运行“flutter doctor”后。

和繁荣。 它会起作用。

您必须在 PC 上手动安装 Java,但安装 JRE(Java 运行时环境)而不是 JDK(Java 开发工具包)。 JRE 包含了 Flutter 所需的一切。

我认为 AS 附带的是 JDK 而不是 JRE

在您显示的屏幕中,只需使用“Android Studio 默认 JDK”(或任何其他 JDK 11)。

Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK.

您还需要设置与JAVA_HOME环境变量以及ANDROID_HOME相同的路径。 在 Windows 中,这些可以添加到Settings > Advanced System Settings > Environmental Variables Flutter 需要设置这些来查找 CLI 工具……问题可能不是CLI 工具本身,而是它根本不知道 Java SDK 或 Android SDK。

如果你在没有 Android Studio 的情况下安装 Flutter。 在您的 sdkmanager.bat 文件所在的 Android\/bin 文件夹目录中运行此命令。 就我而言,它是C:\\Android\\bin><\/code> 。 键入此命令

sdkmanager.bat --install "cmdline-tools;latest --sdk_root=../

如果你已经安装了 Flutter 而没有 Android Studio。 在包含 sdkmanager.bat 文件的 Android/bin 文件夹目录中运行此命令。 在我的例子中是 C:\Android\bin>

sdkmanager.bat "cmdline-tools;latest" --sdk_root=../

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM