![](/img/trans.png)
[英]Sdkmanager "Error: Could not find or load main class com.android.sdklib.tool.sdkmanager.SdkManagerCli" on Windows
[英]Flutter doctor error - Android sdkmanager tool not found. Windows
我一直在这个问题上兜兜转转,有很多人有与我相似的问题,但没有一个是相同的。 我正在尝试完全设置 flutter,但无法解决其中一个问题。
当我运行 flutter doctor -v
时,我得到以下输出:
[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.18362.657], locale en-GB)
• Flutter version 1.12.13+hotfix.8 at C:\flutter
• Framework revision 0b8abb4724 (3 weeks ago), 2020-02-11 11:44:36 -0800
• Engine revision e1e6ced81d
• Dart version 2.7.0
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:\Users\%username%\AppData\Local\Android\Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
X Android license status unknown.
Try re-installing or updating your Android SDK Manager.
See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed
instructions.
[√] Android Studio (version 3.6)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 43.0.2
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
[√] VS Code (version 1.42.1)
• VS Code at C:\Users\%username%\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.8.1
[√] Connected device (1 available)
• AOSP on IA Emulator • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)
! Doctor found issues in 1 category.
如果我尝试运行命令 flutter doctor --android-licenses 我会得到:
未找到 Android sdkmanager 工具 (C:\Users%username%\AppData\Local\Android\Sdk\tools\bin\sdkmanager)。 尝试重新安装或更新您的 Android SDK,请访问https://flutter.dev/setup/#android-setup了解详细说明。
没错,我的SDK文件夹中没有“tools”文件夹。 我到底该如何解决这个问题,我已经安装了所有 SDK 工具。 即使是 NDK(不是那个 flutter 拾取它)我已经尝试创建一个工具文件夹并从构建工具复制 sdkManager,bat(包括 bin 文件夹),但这只是告诉我更新我的 SDK 管理器。 尝试失败时。
看起来一切仍然有效,只是让我在那里遇到那个问题有点不舒服。
任何帮助深表感谢。
我刚刚遇到了同样的问题 - 我的解决方案要简单一些:
和你一样,我已经安装了 Android Studio,关键是安装Android SDK Command-line Tools ,步骤是:
此时,系统将提示您接受 SDK 许可证,并安装命令行工具。 您的许可证问题现在应该得到解决。
仅供参考,命令行工具将在您的 SDK 文件夹中添加一个新文件夹cmdline-tools
。 如果你在那里查看 cmdline-tools/latest/bin 你会看到 sdkmanager - 但你的许可证问题应该已经解决了。
Android 工具链 - 为 Android 设备开发 X cmdline-tools 组件丢失 Run path/to/sdkmanager --install "cmdline-tools;latest"
此错误表示您的“缺少 Android SDK 命令行工具”
它将开始下载缺少的组件
如果对您有帮助,请投票给我
前往设置:
转到 Android SDK:
取消选中命令行工具:
检查Show details并取消选中Android 命令行工具,然后单击Apply然后单击OK 。
从https://developer.android.com/studio下载这个包并解压。 然后转到您的 android sdk 位置 (C:\Users\Pooja\AppData\Local\Android\Sdk) 并将其与名称工具一起粘贴。
然后关闭并重新启动 Android Studio 并检查更新。 安装更新后,关闭 Android Studio。
打开命令行并输入:
flutter doctor --android-licenses
最后,按y
接受。
我们都解决了。
从https://flutter.dev/docs/get-started/install/windows :
警告:在 Android Studio 3.6 或更高版本中,您需要手动添加旧版本的 Android SDK 工具,Flutter 才能工作。 去做这个:
打开Android Studio SDK 管理器
在 Android SDK 选项卡中,取消选中Hide Obsolete Packages
检查Android SDK 工具(已过时)
...
这是一个已知问题,将在即将发布的 Flutter 版本中解决。
快到 2022 年了,事情似乎发生了一些变化。
我将我的 SDK 安装在一个单独的文件夹中,并且缺少命令行工具。 即使我下载并将其解压缩到 SDK 文件夹中,此错误仍然存在。 我花了一些时间来弄清楚。
flutter config --android-sdk <path-to-your-android-sdk-path>
<sdk folder>/cmdline-tools/latest/`
|- bin
|- lib
|- ...
或者,从您拥有的任何命令行工具目录中使用以下命令: <cmdline-tools folder>\bin\sdkmanager --install "cmdline-tools;latest" --sdk_root=<sdk folder>
但是,这可能需要您拥有相对较新的 sdkmanager 来完成这项工作。 所以如果它太旧,它可能不会给你预期的结果。
PS:如果内容在<sdk folder>/tools
、 <sdk folder>/cmdline-tools
或<sdk folder>/cmdline-tools/tools
下,则不起作用
C:\Users\ABC\AppData\ABC\Android\Sdk
flutter doctor --android-licenses
flutter doctor
,你应该很好。无需卸载 android studio 你需要做的只是去 andriod studio 应用去 android sdk 并安装 cmdline 工具包然后关闭应用并输入 flutter doctor 你会得到它安装
我遇到了和你一样的问题。 我要做的是(至少现在......):
如果您不一定使用 Android Studio(例如 CLI 或 VS Code)并且仍然像我一样面临此问题,请考虑此相关问题及其中的相关答案:安装后我收到此错误“缺少 cmdline-tools 组件” flutter 和 android studio...我添加了 andorid sdk。 如何解决它们?
从命令行运行 android studio 时,我注意到:
在不一致的位置'/home/kobi/Android/Sdk/build-tools/32.0.0-rc1-2'
中观察到包 id 'build-tools;32.0.0-rc1'(预期为 '/home/kobi/Android/Sdk /build-tools/32.0.0-rc1')
在我更改~/.bashrc
中的导出路径后, flutter doctor
能够识别并说一切正常。 (虽然必须接受许可证)
运行'flutter config --android-'flutter config --android-sdk <path-to/android/sdk>sdk <path-to/android/sdk>
如果环境中有 sdkmanager,则可以运行命令:
sdkmanager --install "cmdline-tools;latest"
如果它没有定义为环境变量,您可以转到 sdkmanager 文件夹并在那里运行它。 它会像下面这样:
/home/User/path-Android/cmdline-tools/bin/sdkmanager --install "cmdline-tools;latest"
然后再次运行 flutter 的医生。 好的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.