• 35648

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

Flutter个人填坑指南详解

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/0711/7210.html 1190000019724816

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界面

运行结果

相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!