鸿蒙Flutter开发故事:因为杀毒软件,我差点提桶跑路

大家好,《鸿蒙Flutter实现实战》推出以来,得到不少小伙伴的好评,最近我们也在和华为开发者联盟合作,以期把这个系列做成最佳实践,在论坛推荐给更多需要的开发者。

教程是有了,但在实际操作过程中,总是会遇到各种意想不到的问题和挑战,有些甚至和语言、SDK无关,特别是配置环境,需要我们对自己的电脑操作系统有更深的了解,诸如环境变量怎么生效这样的问题。

本系列则是对实战的补充,通过具体的案例,描绘问题的排查和解决过程,记录下来也希望对下一个“受害者”有用。

本期受害者叫小天,起初是通过闲鱼找到我,攀谈半天发现他已经是公众号粉丝,这不大水冲了龙王庙么,于是果断邀他扫码入群,开远程协助调研现场。以下是整个问题的排查过程:

小天说安装好 flutter_flutter 以后,运行 app 出错,出错内容如下:

alt text

看起来一头雾水,于是我让他检查下环境,使用
flutter doctor 查看出现如下错误:

alt text

看起来像是在 Dart 版本不对,经过询问发现,小天发现了 dart-sdk 是空的,于是手动复制了一份,查看错误输出,初步判断 dart-sdk 不匹配导致出错。那么问题来了,为什么目录为空?

alt text

我们按照环境配置指南重新安装 sdk,使用 git 克隆 Flutter 的 dev 分支之后,运行时 flutter --version 命令,起初,输出朝着期望的方式进行,但经过短暂 Flutter engine 下载之后,出现一堆红色错误,仔细查看错误原因,dart-sdk 竟然是空的?!

alt text

此时退出命令,再次运行 flutter doctor,这次的输出不一样了

alt text

按照网上的提示,这时需要手动清理 cache,打开 Flutter 安装目录,删除 bin/cache 目录,重新运行,发现,又回到了第一次的情形。

经多几分钟的摸索和分析,我决定尝试手动处理缺失的 dart-sdk,按照命令输出的 url,手动下载解压,复制到 Flutter 目录下的 cache/dart-sdk,现在看看是否能用呢?

alt text

Bingo!已经开始下载编译套件,成功近在咫尺了。

flutter doctor 检查通过,接下来按照正常流程运行,不过又有新的问题出现:

alt text

在这个过程中,杀毒软件频频弹窗,好家伙,竟然是你小子!

Flutter 在安装初始化和编译时会下载和生成大量文件,这就导致监控磁盘的杀软误报,这里必须要点击允许,不要因为忽略而关掉告警,否则无法往下进行。

第一次在鸿蒙设备上运行 Flutter,会下载鸿蒙相关的依赖套件,控制台输出 downloading ohos-x64/arm64...,需要耐心等待。

alt text

最终,经过比较漫长的编译等待,熟悉的画面在真机上出现了,完美收官。

本来以为故事到这就结束了,第二天,小天又传来消息,事态升级,发来一张截图,打开一看直接无语了

alt text

这回杀毒软件直接把 Dart SDK 当成病毒清理了,好吧,这回除了卸载软件,也没啥好办法了。

以上就是本次 Windows 电脑下安装鸿蒙 Flutter 的一次冒险了,忙活大半天,一度陷入自我怀疑和沮丧,终其原因,竟然是杀毒软件拦截的锅,知道真相后,小天觉得自己又行了。那么,你是否也遇到过类似的遭遇呢,欢迎在评论区或者私信分享你的故事。