今天(2020.03.24
)刚接触flutter
, 这个问题困扰了大概4个小时, 最后在一个韩国人的博客里找到解决方案, 实在离谱.
问题描述
Flutter和Android Studio都是最新版, 安装好之后运行
flutter doctor
报告里有这么一条:
✗ Android license status unknown.
google搜了一下, 通常的解决方案是执行
flutter doctor --android-licenses
复制, 执行, 不料却提示:
A newer version of the Android SDK is required. To update, run:
/Users/***/Android/sdk/tools/bin/sdkmanager --update
继续复制, 执行, 这下却提示/Users/***/Android/sdk/tools/bin/sdkmanager
: 无此目录或文件.
实际上sdkmanager
在一个相邻的目录里, 不过并没用, 因为即使成功更新之后, 再复制到该位置, 再次执行flutter doctor --android-licenses
也还是继续提示需要更新, 到这里就是个死循环.
解决方案
这里显然并不属于"通常情况", 最后生效的解决方案如下:
打开Android Studio
- Configure
- SDK Manager
, 之后在打开的界面里, 一共三个子界面, 即SDK Platforms
, SDK Tools
和SDK Update Sites
.
切到SDK Tools
这个子界面, 在界面底部略靠上的位置, 找到Hide Obsolete Packages
选项, 该项默认勾选, 将其取消勾选.
在新出现的包列表里, 找到Android SDK Tools (Obsolete)
, 勾选.
然后右下角Apply
, 安装完成后点击Finish
, 之后点击OK
, 退出Android Studio
.
这次再运行flutter doctor
, 提示为
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
按照提示执行flutter doctor --android-licenses
, 然后全部接受.
最后再执行flutter doctor
, 确认问题解决.