即使在更新 Flutter 之后医生说尝试重新安装或更新您的 Android SDK Manager

Posted

技术标签:

【中文标题】即使在更新 Flutter 之后医生说尝试重新安装或更新您的 Android SDK Manager【英文标题】:Even after updating Flutter doctor says Try re-installing or updating your 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>


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

SDK位置截图:

【问题讨论】:

【参考方案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】:

这解决了我的问题:

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

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

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

    现在在命令提示符下再次检查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 起作用了。

【讨论】:

但是我已经安装了jdk13 如何正确设置java 对于 Windows,您可以使用它来提供帮助:[confluence.atlassian.com/doc/… confluence.atlassian.com/doc/… 在系统变量中我在 'JAVA_HOME' 中添加了 jdk-13 然后在同一个系统变量中我将 jdk-13/bin 添加到 'path' 中是否正确?【参考方案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 ...如何解决这个错误???/

以上是关于即使在更新 Flutter 之后医生说尝试重新安装或更新您的 Android SDK Manager的主要内容,如果未能解决你的问题,请参考以下文章

如何修复未安装的颤振医生错误android studio和IntelliJ IDEA,即使我已经安装了它

颤振医生无法识别Android Studio颤振和飞镖插件,但已安装插件

无法为颤振医生找到 android SDK

即使在重新启动 IDE 后,FLUTTER 中的未定义名称“http”

安装flutter osx错误VS代码

颤振医生 --android-licenses 错误:无法找到或加载主类 Studio