Flutter个人填坑指南详解

Superning · · 148 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Flutter个人填坑指南详解

第一步

安装解压完flutter后,按照flutter的官方教程,首先需要在你的IDE或者编译器(vscode)里安装插件,分别是 flutter 和dart的插件(我使用的是AS,所以下文以AS为例)

第二步---配置环境变量

由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中

第三步

进入Flutter的目录中,运行命令行脚本

第一个问题!!!!

运行flutter doctor后,你会发现它提示你✗ Android license status unknown.

因此我们应该尝试运行flutter doctor --android-licenses

但是会报错,提示你应该去 sdk目录进行 sdkmanager --update,运行sdkmanager --update时又会出现找不到或无法加载主类的问题

解决方案

经过不断的google,在GitHub flutter的i16025 issues中 有人提到 这是jdk版本的问题,原文(OpenJDK 10 was superseeded by OpenJDK 11, which doesn't implement java.se.ee at all. This means that the hack of adding --add-modules java.se.ee doesn't do anything anymore. It also means that OpenJDK 10 will be automatically removed from your system and replaced with OpenJDK 11 the next time you update, if your updates are configured properly.

To fix that, modify sdkmanager to use Java 8 by setting JAVA_HOME inside sdkmanager to a Java 8 installation. It's still, by default, at ~/Android/Sdk/tools/bin/sdkmanager.)

----原先我是jdk11.0.2,因此 我降级到jdk1.8。

并且 按照issues中其他人的解决方案来看,我们应该修改sdkmanager.dat文件中的一行

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions'

就我而言修改dat文件并没有效果,因此我保持了dat文件原样,并将JDK---->1.8。

出现了第二个问题

当我完成上面的步骤后,执行flutter doctor --android-licenses 出现了从远程仓库下载失败的问题,我为此十分纠结,因为我电脑本身已经FQ,按理说不应该是下载失败,无法下载的问题,我尝试运行 flutter doctor -v 在检查 Android license时出现了"this is taking an unexpectedly long time"的问题,顿时头晕脑胀。然后静下心来,慢慢排查问题,之前的步骤都没有错误操作,为什么会卡在this is taking an unexpectedly long time呢???

最终在flutter的issues 27310中找到了我的答案-----原文(Recently I was suffering from the same issue but now it is solved as I updated with the latest Flutter SDK and reboot my laptop.

最终解决方案

就像issues中所说 我们需要更新flutter(我还是从官网下的最新版,不知道为什么还要更新----手动滑稽)在flutter的命令行中 输入 flutter upgrade -force。进行更新。等待一会后就会更新成功。

之后我们运行flutter doctor -v

现在已经没有之前的this is taking an unexpectedly long time问题,只显示我们需要运行flutter doctor --android-licenses,那我们之前运行flutter doctor --android-licenses是会出错的,那现在呢???

奈斯,现在终于出现我们想要的结果了,接受所有的license后,我们再次运行 flutter doctor -v

至此问题全部解决,我们可以尝试运行一下官方的flutter demo了

AS界面

运行结果

本文来自:Segmentfault

感谢作者:Superning

查看原文:Flutter个人填坑指南详解

148 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet