【问题标题】:Even after updating Flutter doctor says Try re-installing or updating your Android SDK Manager即使在更新 Flutter 之后医生说尝试重新安装或更新您的 Android SDK Manager
【发布时间】:2020-02-04 21:54:10
【问题描述】:

这是我的 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位置截图:

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

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

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

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

    找不到 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 工具(过时)并按应用。

    它将安装 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,

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

    第 5 步:JAVA 8.1 和 JAVA_HOME 路径。

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

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

    第 6 步:最后一步

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

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

    Resources

    【讨论】:

      【解决方案2】:
      • 打开 Android Studio 并打开 SDK 管理器,然后打开 SDK 工具选项卡。
      • 勾选Android SDK命令行工具

      【讨论】:

        【解决方案3】:

        在Android Studio的tools SDKs中安装Android SDK命令行工具后,执行命令flutter doctor --android-licenses

        【讨论】:

        • 此答案中的指导与此处已发布的其他答案中的指导有何不同?
        【解决方案4】:

        在 Android Studio 上安装 Android SDK command line tools in SDKs tools 对我有用

        【讨论】:

          【解决方案5】:

          对我有用的是删除以下目录中的Android 30 文件:

          C:\Users\user\AppData\Local\Android\Sdk\platform
          

          之后,我去了文件 > 设置 > 系统设置 > SDK平台

          然后我勾选了Android 11.0®选项,最后点击了Apply

          【讨论】:

            【解决方案6】:

            这解决了我的问题:

            1. 打开 Android Studio 并打开 SDK 管理器,然后打开 SDK 工具选项卡。查看 框“Android SDK 命令行工具

            2. 打开命令提示符并输入flutter doctor --android-licenses 然后回车

            3. 它将要求您为每个许可证键入“Y”。输入 'y' 直到所有许可证都完成。

            4. 现在在命令提示符下再次检查flutter doctor,它应该会告诉您许可证已被接受。

            【讨论】:

              【解决方案7】:

              添加环境变量 ANDROID_SDK_ROOT 作为 sdk 的安装路径。

              【讨论】:

                【解决方案8】:

                我遇到了同样的问题

                您可以通过运行此命令来解决此问题

                flutter doctor --android-licenses
                

                进入你的 flutter_console.bat

                或者

                uninstall android studio 并重新安装它,它会解决问题。

                【讨论】:

                  【解决方案9】:

                  我遇到了同样的问题,安装最新的Java版本Java 8解决了它。然后设置JAVA_HOME变量。在 Windows 中:Environment Variables> System Variables> 添加新的或编辑你的 JAVA_HOME> 在 Variable Value 字段中,输入你的 JDK 或 JRE 安装路径中的 JAVA_HOME。在此之后,命令 flutter doctor --android-licenses 起作用了。

                  【讨论】:

                  【解决方案10】:

                  根据 Flutter 存储库中的 this issue,您似乎尚未接受所有 SDK 许可协议。

                  你可以通过运行解决它

                  flutter doctor --android-licenses
                  

                  在您的终端中并通过按 yreturn 接受未完成的许可证。

                  【讨论】:

                  • 这是输出:--- C:\Users\user>flutter doctor --android-licenses 需要更新版本的 Android SDK。要更新,请运行: C:\Users\user\AppData\Local\Android\Sdk\tools\bin\sdkmanager --update C:\Users\user>flutter doctor --android-licenses Android SDK 的较新版本是必需的。要更新,请运行: C:\Users\user\AppData\Local\Android\Sdk\tools\bin\sdkmanager --update C:\Users\user>C:\Users\user\AppData\Local\Android\Sdk\ tools\bin\sdkmanager --update 线程“main”中的异常 java.lang.NoClassDefFoundError:
                  • 这似乎与其他人在问题线程中描述的问题非常相似。你能试试他们的解决方案,看看他们是否能解决你的问题吗?似乎将您的 JAVA_HOME 指向随 Android Studio 安装的 JRE 可能会有所帮助。由于我无法重现您的错误,我在这里疯狂猜测。
                  • 为什么 SDK 组件设置说检测到现有 SDK。系统只会下载丢失或过时的 SDK 组件
                  【解决方案11】:

                  可能是您的路径设置不正确?您是否查看过设置>外观和行为>系统设置>Android SDK>Android SDK位置?

                  【讨论】:

                  • 我在问题中添加了屏幕截图以显示 sdk 位置...请看一下
                  • 它显示检测到一个现有的android SDK ...如何解决这个错误???/
                  猜你喜欢
                  • 2020-07-06
                  • 2020-07-04
                  • 2020-10-29
                  • 1970-01-01
                  • 2020-12-22
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-02-19
                  • 1970-01-01
                  相关资源
                  最近更新 更多