flutter doctor 验证环境licenses不通过

Posted change_from_now

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flutter doctor 验证环境licenses不通过相关的知识,希望对你有一定的参考价值。

Windows平台配置flutter开发环境

前提:配置了android开发环境。 本文解决方式不一定适用你的问题

按照官网配置环境,还是比较简单
1.下载安装包,解压到一个没有空格路径的目录下
不要解压到program files目录中
2.配置环境变量。配置路径要到 bin
https://docs.flutter.dev/get-started/install/windows


flutter doctor检测不通过

配置好flutter后,在命令行运行
flutter doctor
检测过程中有两个问题

  1. liceses未接受
  2. 没有cmdline-tools

先解决第二个问题。去android sdk目录查看,确实没有 cmdline-tools 。
可以通过 android studio 里的 System Settings -> Android SDK 中的
SDK Tools 进行下载。

第一个问题,通过android sdk 目录 tools\\bin 下的 sdkmanager.bat,执行
sdkmanager --update
进行sdk 升级未解决,同时还是会提示没有cmdline-tools。


原因分析:

虽然doctor未验证通过,但是不影响android studio创建flutter工程和运行。
不过在android studio编译flutter工程时总看到提示
c:\\users\\xx\\AppData\\Android\\licenses 未接受的警告。
于是去AppData 目录下查看,发现AppData目录中存在一个android sdk,flutter会默认使用 AppData 中的android sdk,而我目前android studio 指定的 android sdk 是放置在D盘的,没有使用AppData 中的 android sdk。

通过查看 flutter 中 doctor 源码,发现 flutter 检测 android 环境时会优先查找环境变量 ANDROID_SDK_ROOT,如果找不到就会去 AppData 目录中找。后来我配置了 ANDROID_SDK_ROOT,但是未生效。


解决方案:

最后通过 flutter config 重新给 flutter 指定了 android sdk目录。
flutter config --android-sdk 使用中的android sdk目录
这样让 flutter 使用正确的 android sdk 后就可以 doctor 检测通过了。
当然如果你的机器本身用到的 android sdk 就是 AppData 下的话,到时应该只需要安装 cmdline-tools、升级 sdk 即可。

以上是关于flutter doctor 验证环境licenses不通过的主要内容,如果未能解决你的问题,请参考以下文章

flutter doctor 验证环境licenses不通过

命令行执行flutter doctor无响应原因追踪及解决

运行flutter doctor命令检测环境是否配置成功报错及解决方案

Windows Powershell 中的 Flutter Doctor 返回错误

“flutter doctor”命令找不到安装在 Android Studio 中的 Flutter 和 Dart 插件

Flutter Doctor 显示在 Doctor 上运行的 CentOS Linux 7 的 GTK 3.0 存在问题