简体   繁体   English

Flutter 医生找不到 sdkmanager

[英]Flutter doctor can't find sdkmanager

So I'm trying to install flutter without Android Studio because my PC work really slow whenever i trying to open Android Studio.因此,我尝试在没有 Android Studio 的情况下安装颤振,因为每当我尝试打开 Android Studio 时,我的 PC 工作速度都非常慢。 Everything working smoothly at beginning, but when flutter trying to get Android License using一开始一切都很顺利,但是当颤抖试图获得Android许可证时

flutter doctor --android-licenses

it always give me它总是给我

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.

and when i'm check using当我检查使用

flutter doctor --android-licenses -v

it give me它给了我

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>

is there is anything wrong with my PATH or something hat i need to do first?我的 PATH 有什么问题或者我需要先做些什么吗? I will include my path if that can help me.如果可以帮助我,我将包括我的路径。 在此处输入图像描述

在此处输入图像描述

Thank you.谢谢你。

It looks like you might be missing the command-line tools.看起来您可能缺少命令行工具。

If you want to install the command-line tools without installing Android studio then I would suggest taking a look at this website here .如果您想在不安装 Android Studio 的情况下安装命令行工具,那么我建议您在此处查看此网站。 It lists all the android sdk tools you can download without needing to install android studio.它列出了您无需安装 android studio 即可下载的所有 android sdk 工具。

If you do want to install android studio I was able to solve this problem just recently by going to Tools>SDK Manager>SDK Tools and selecting "Android SDK Command-line Tools (latest)", then hit okay to install the tools.如果您确实想安装 android studio,我最近可以通过转到工具>SDK 管理器>SDK 工具并选择“Android SDK 命令行工具(最新)”来解决这个问题,然后点击确定安装工具。

After you do that try doing flutter doctor --android-licenses again在你这样做之后,再次尝试做flutter doctor --android-licenses

* N\B: I believe by default you had already installed thhe commandline tools. * N\B:我相信默认情况下您已经安装了命令行工具。 Go to the folder containing the sdkmanager.bat file and then open the cmd from there.转到包含 sdkmanager.bat 文件的文件夹,然后从那里打开 cmd。 The cmd should show the folder in which it is open. cmd 应该显示它打开的文件夹。 Run the following command, 'sdkmanager.bat --install "cmdline-tools;latest" After completely running the task close the cmd and open a new one and run 'flutter doctor'运行以下命令, 'sdkmanager.bat --install "cmdline-tools;latest"完全运行任务后关闭 cmd 并打开一个新的并运行 'flutter doctor'

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

I ran into two issues.我遇到了两个问题。 I started with a default install of Android Studio and flutter from flatpack.我从默认安装的 Android Studio 和 flatpack 开始。

  1. When you download commandlinetools...zip from Google, and unzip it, you get directories like cmdline-tools/bin , cmdline-tools/lib etc. That doesn't work.当您从 Google 下载commandlinetools...zip并将其解压缩时,您会得到cmdline-tools/bincmdline-tools/lib等目录。这不起作用。 You need to create a latest subdirectory and move everything in there.您需要创建一个latest的子目录并将所有内容移到那里。 eg /home/user/Android/Sdk/cmdline-tools/latest/bin/例如/home/user/Android/Sdk/cmdline-tools/latest/bin/
  2. Now you can run the updater.现在您可以运行更新程序了。 Something that works will look like ~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --sdk_root=/home/user/Android/Sdk --install "cmdline-tools;latest" .可行的东西看起来像~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --sdk_root=/home/user/Android/Sdk --install "cmdline-tools;latest" When I first installed, instead of /home/user/ I did ~/ and that caused problems subsequent to updating.当我第一次安装时,我安装了~/而不是/home/user/ ,这会导致更新后出现问题。 The value you provide to --sdk_root gets cached somewhere.您提供给--sdk_root的值会缓存在某处。

Now you can run flutter doctor successfully to accept the licenses.现在您可以成功运行flutter doctor以接受许可证。

On Windows, you may also need to set the android-sdk location.在 Windows 上,您可能还需要设置 android-sdk 位置。 It's usually in C:\$USER\AppData\Local\Android\Sdk .它通常位于C:\$USER\AppData\Local\Android\Sdk中。

You can set it by running flutter config --android-sdk <path to android sdk> .您可以通过运行flutter config --android-sdk <path to android sdk>来设置它。

This fixed the same issue for me.这为我解决了同样的问题。

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

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