Flutter Doctor中的“ Android许可证状态未知”

时间:2020-03-26 14:05:39

标签: android flutter android-sdk-tools android-sdk-manager

在命令行上运行flutter doctor时,Android Sdk出现错误

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.4.9-hotfix.1, on Mac OS X 10.14.4 18E226, locale zh-Hans-CN)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit
      https://flutter.io/setup/#android-setup for detailed instructions.
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2)
[✓] Android Studio (version 3.3)
[✓] VS Code (version 1.33.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 2 categories.

在遵循了stackoverflow社区的一些可能的修复程序之后,我仍然无法使其正常工作。 请我帮忙。

1 个答案:

答案 0 :(得分:0)

这是对我有用的

修复1:

  • 启动Android Studio并打开SDK管理器(Android Studio的右上角)
  • 导航到“ SDK”选项卡,然后寻找Android SDK平台工具
  • 如果已选中,请取消选中它,然后单击“应用”(我们正在尝试卸载以前的版本)
  • 现在已卸载“ SDK工具”。让我们重新安装它,方法是选中该复选框并单击“应用”
  • 点击确定并重新启动Android Studio
  • 导航到Windows的%USERPROFILE%\AppData\Local\Android\Sdk的SDK安装位置,您应该会看到一个新文件夹tools 注意:如果您没有看到tools文件夹没有引起惊慌,那我一定可以解决。
  • 打开tools文件夹并导航到bin
  • 复制文件夹路径(即C:\Users\USERNAME%\AppData\Local\Android\Sdk\tools\bin
  • 将该路径添加到环境变量中
  • 现在,您应该可以在命令行中访问sdkmanager。输入sdkmanager,然后按CMD中的Enter键,尝试一下。
  • 如果您获得'sdkmanager' is not recognized as an internal or external command, operable program or batch file.,则可能在添加系统环境变量的路径时犯了一个错误。解决这个问题。
  • 转到Flutter sdk文件夹(即c:/src/flutter)并启动flutter_console.bat文件
  • 现在键入命令flutter doctor --android-licenses,它应该可以工作。输入y并按ENTER
  • 接受所有内容
  • 别忘了运行flutter doctor

修复2:

PS:仅当Fix 1对您不起作用时!

  • 打开浏览器并转到Command line tools only(页面底部)
  • 下载适合您平台的软件包
  • 解压缩,可以!您应该看到tools文件夹
  • 提取后,将tools文件夹复制到C:\Users\USERNAME%\AppData\Local\Android\Sdk

    现在与上面的修订1相同,

  • 打开tools文件夹并导航到bin

  • 复制文件夹路径(即C:\Users\USERNAME%\AppData\Local\Android\Sdk\tools\bin
  • 将该路径添加到环境变量中
  • 现在,您应该可以在命令行中访问sdkmanager。输入sdkmanager,然后按CMD中的Enter键,尝试一下。
  • 如果您得到'sdkmanager' is not recognized as an internal or external command, operable program or batch file.,则可能在添加系统环境变量的路径时犯了一个错误。解决这个问题。
  • 您还没完成
  • 您下载的SDK平台工具可能已过时(如从命令行运行sdkmanager命令时所见)
  • 现在让我们移交给Android Studio来完成其余的工作。重新启动Android Studio,以便它可以识别您添加的tools文件夹。
  • 重新启动后,Android Studio应自动检测过时的平台工具并提示您进行更新(您必须连接到互联网!)。
  • 如果更新提示不显示
  • 在Android Studio中打开SDK Manager,
  • 转到更新
  • 点击Check Now
  • 您应该获得PROMPT来更新Platform-Tools

修复3:

  • 执行Fix 2中的所有操作
  • 打开环境变量,创建一个新变量JAVA_HOME并将其值设置为JRE / bin(从“程序文件”中的Android Studio安装位置获取)
  • 对于Windows,打开命令行类型set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee',对于Linux,打开export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

就是这样,您现在可以在命令行上运行flutter doctor --android-licenses了;输入y并按ENTER接受所有许可证。并且不要忘记运行flutter doctor

就是这样。我也希望它对您有用