首页 > 解决方案 > 即使在更新 Flutter 之后医生说尝试重新安装或更新您的 Android SDK Manager

问题描述

这是我的 Flutter 医生总结:


Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, v1.10.13-pre.12, on Microsoft Windows [Version 10.0.17134.1006], locale en-IN)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    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.5)
[√] Connected device (1 available)

! Doctor found issues in 1 category.

C:\Users\user>


  1. 我已经将我的 SDK 管理器更新到最新版本
  2. 我的 SDK 版本是 29.0.2
  3. 如何解决此错误...即使更新 SDK 管理器后仍会出现此错误

SDK位置截图:

SDK位置截图

标签: flutterdart

解决方案


它对我有用,以下是解决我的问题的步骤:

第 1 步:ANDROID LICENSES --android-licenses,将解决大多数情况

既然您在这里,您已经遇到了 Android 工具链的“Android 许可证状态未知”问题,正如许多人建议的那样尝试flutter doctor --android-licenses。如果你对所有配置都很好。它应该要求是,然后按 y 和瞧。但如果它显示:

单击此处的图像 1

未找到 Android sdkmanager 工具(C\Users\__\local\Android\sdk\tools\bin\sdkmanager)。进入第二步

第 2 步:从 Android Studio 安装 SDK 管理器

打开您的 Android Studio ,File-> settings->System settings(left tab) ->Android SDK转到该页面中的 SDK 工具部分,取消选中隐藏过时的包,选择 Android SDL 工具(过时)并按应用。

单击此处的图像 2

它将安装 SDK,您通过检查此路径是否存在来确认它(C\Users\__\local\Android\sdk\tools\bin\sdkmanager)

第 3 步:重复第 1 步

安装后在新命令行中重复步骤 1 检查其是否正常工作,否则转到步骤 4

第 4 步:sdkmanager --update

它会要求您更新 sdk,只需运行终端中给出的命令即可 C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update。如果它正在运行,那么它很酷。让它完成并重复步骤 1,否则如果它抛出一些异常,例如java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema etc,

点击此处的图片 3

这意味着您的 java 未安装或版本不正确。转到下一步

第 5 步:JAVA 8.1 和 JAVA_HOME 路径。

安装 JAVA 8.1 并设置 JAVA_HOME 路径。确保是 8.1 版本(注册免费帐户并从 oracle 下载 8.1 版本,记住以上 11+ 不适用于 Flutter

单击此处的图像 4

注意:作者:yaniv maymon:如果您的计算机上已经安装了 Java,但sdkmanager --update仍然无法正常工作。转到环境变量并更新 jdk 文件夹的“JAVA_HOME”路径。然后退出命令提示符,再次打开并运行更新命令——</p>

第 6 步:最后一步

正确安装和设置路径后,C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update在新终端中运行命令,它将起作用

STEP 7:重新运行flutter doctor,你可以看到它说运行命令flutter doctor --android-licenses。所以flutter doctor --android-licenses在终端中运行并在被问到时按 y

资源


推荐阅读