繁体   English   中英

Flutter 医生找不到 sdkmanager

[英]Flutter doctor can't find sdkmanager

因此,我尝试在没有 Android Studio 的情况下安装颤振,因为每当我尝试打开 Android Studio 时,我的 PC 工作速度都非常慢。 一开始一切都很顺利,但是当颤抖试图获得Android许可证时

flutter doctor --android-licenses

它总是给我

C:\Windows\System32>flutter doctor --android-licenses
Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed to
resolve this.

当我检查使用

flutter doctor --android-licenses -v

它给了我

C:\Windows\System32>flutter doctor --android-licenses -v
Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed to
resolve this.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1      AndroidLicenseValidator.runLicenseManager (package:flutter_tools/src/android/android_workflow.dart:422:7)
#2      Doctor.diagnose (package:flutter_tools/src/doctor.dart:295:38)
#3      DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:50:47)
#4      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1274:12)
<asynchronous suspension>
#5      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1125:27)
<asynchronous suspension>
#6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#7      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#8      FlutterCommandRunner.runCommand.<anonymous closure>
(package:flutter_tools/src/runner/flutter_command_runner.dart:288:9)
<asynchronous suspension>
#9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#10     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:236:5)
<asynchronous suspension>
#11     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
<asynchronous suspension>
#12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#13     main (package:flutter_tools/executable.dart:92:3)
<asynchronous suspension>

我的 PATH 有什么问题或者我需要先做些什么吗? 如果可以帮助我,我将包括我的路径。 在此处输入图像描述

在此处输入图像描述

谢谢你。

看起来您可能缺少命令行工具。

如果您想在不安装 Android Studio 的情况下安装命令行工具,那么我建议您在此处查看此网站。 它列出了您无需安装 android studio 即可下载的所有 android sdk 工具。

如果您确实想安装 android studio,我最近可以通过转到工具>SDK 管理器>SDK 工具并选择“Android SDK 命令行工具(最新)”来解决这个问题,然后点击确定安装工具。

在你这样做之后,再次尝试做flutter doctor --android-licenses

* N\B:我相信默认情况下您已经安装了命令行工具。 转到包含 sdkmanager.bat 文件的文件夹,然后从那里打开 cmd。 cmd 应该显示它打开的文件夹。 运行以下命令, 'sdkmanager.bat --install "cmdline-tools;latest"完全运行任务后关闭 cmd 并打开一个新的并运行 'flutter doctor'

此错误可以从 android studio 解决,转到 SDK 工具,然后单击 android SDK 命令行工具并安装它们。

我遇到了两个问题。 我从默认安装的 Android Studio 和 flatpack 开始。

  1. 当您从 Google 下载commandlinetools...zip并将其解压缩时,您会得到cmdline-tools/bincmdline-tools/lib等目录。这不起作用。 您需要创建一个latest的子目录并将所有内容移到那里。 例如/home/user/Android/Sdk/cmdline-tools/latest/bin/
  2. 现在您可以运行更新程序了。 可行的东西看起来像~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --sdk_root=/home/user/Android/Sdk --install "cmdline-tools;latest" 当我第一次安装时,我安装了~/而不是/home/user/ ,这会导致更新后出现问题。 您提供给--sdk_root的值会缓存在某处。

现在您可以成功运行flutter doctor以接受许可证。

在 Windows 上,您可能还需要设置 android-sdk 位置。 它通常位于C:\$USER\AppData\Local\Android\Sdk中。

您可以通过运行flutter config --android-sdk <path to android sdk>来设置它。

这为我解决了同样的问题。

暂无
暂无

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

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