即使在更新 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
在您的终端中并通过按 y 和 return 接受未完成的许可证。
【讨论】:
这是输出:--- 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颤振和飞镖插件,但已安装插件