前言

为了搞某个课设,就下了flutter和Android studio,结果一下flutter就出问题,在cmd运行 flutter doctor后提示如下

 X Android license status unknown.
      Try re-installing or updating your Android SDK Manager.

真的是很让人头痛,之前检查了一下Android SDK,发现竟然还安装在C盘上,直接占了一堆空间 ,上网搜了一下类似问题还蛮多的,采用了各类方法后都没啥用,主要是,各大方法都提到了一个叫做tools的文件夹,而我的安卓文件夹中根本没有。。。

1.PNG

后来偶然发现了一个问题

发现

Android studio 的上方菜单栏 File 进入 settings
依次进入Appearance & Behavior 下的 System settings 下的 Android SDK
可以看到有三个选项 SDK Platforms, SDK toolsSDK Updata Sites
选中 SDK tools
2.PNG

然后发现里面貌似并没有什么 sdk tools
然而

3.PNG

我去,果然隐藏了好东西
取消勾勾后终于显示出来了

4.PNG

然后就可以点击下载了
5.PNG

下载完之后tools文件夹就出现了
6.PNG

随后输入flutter doctor --android-licenses
然后我一开始报错是说位置里面还是没有tools文件夹,然后发现原来是sdk路径没改,改完重启AS之后

又出现了新的错误
flutter Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
等等

上网查的第一个废弃方案是在sdkmanger.bat中直接改配置
什么加上什么-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
我试了一下完全没解决,提示Module java.se.ee not found
因此建议不用这种方案

再上网查了一下发现是Java版本太高(我的天)导致一些包没有包含了
于是,只能降级了,我下的是JDK8,链接在下面,两百多兆建议挂梯子下
Java JDK8官方下载
配置好各种路径(path,classpath,JAVA_HOME)之后
重新进入AS,输入flutter doctor --android-licenses
7.PNG
成功了
然后就是一路y

等一切都结束后,重新输入flutter doctor
8.PNG
大功告成,真就装什么就把什么的坑都踩一遍呗

有用语句汇总

设置flutter 的安卓SDK(设置完要重启)
flutter config --android-sdk 你的路径

检查安卓lience (如果不完善会自动帮你完善,前提是要有tools文件夹里的sdkManager)
flutter doctor --android-licenses

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议