Flutter Mac 环境搭建及采坑集

1,408 阅读3分钟

安装Flutter

下载SDK

官网下载Flutter SDK

flutter.dev/ 




将下载好的 SDK解压到自己熟悉的路径下,一定要记住这个路径,以后要创建Flutter项目要用到,我这里是放到了根目录 /opt路径下

配置环境

运行终端对应的Shell的配置文件进行配置

如果你使用默认的bash那么配置 ~/.bash_profile

如果你使用zsh(Mac新系统默认是zsh)那么配置~/.zshrc

那么怎么看自己是bash还是zsh?我这里有个笨办法


#Flutter 镜像配置
$ export PUB_HOSTED_URL=https://pub.flutter-io.cn
$ export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
#Flutter 配置
$ export FLUTTER=/opt/flutter/bin
$ export PATH=$FLUTTER:$PATH

备注:这里特别说明一下这里的配置不是在终端直接输入命令,而是打开Shell文件在里面进行编辑,自己跳过的坑,希望对读者有帮助

我这里的编辑完之后的样子:

配置完之后重新打开终端即可

Flutter环境监测

flutter doctor

都是绿色✔️的话代表没问题,有话题的话再解决问题,是不是

安卓环境配置

开发软件下载

我这里用的是Android Studio,个人喜好,下载地址developer.android.google.cn/studio

Android Studio环境配置

打开Android Studio 

下载相应Flutter插件


点击Installed,我这里是灰色的因为我更新过了,承让承让

更新完重新打开


这里就多了一个这样的东西,什么意思,大家都懂

项目运行中的问题

环境这样基本已经配置完了,下面是项目运行过程遇到的问题,我这里踩在巨人的肩膀上整理了一下,希望对大家有帮助

flutter doctor 检测安卓许可证的问题

解决方法终端输入:flutter doctor --android-licenses   回车

首次运行卡顿或者热重载失败


这里需要修改项目下的build.gradle文件

文件路径:项目 --> Android -->build.gradle 文件

修改内容:找到buildscript 和allprojects 将里面的: 

google();和jcenter()修改成阿里的镜像

maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }

就酱婶的


创建Flutter项目 提示 Flutter SDK path not given 

我感觉我菜的抠脚,这对我来说都是问题

这里需要选择Flutter SDK path 就是刚开始Flutter SDK解压的路径


用Android Studio创建项目卡顿

这里需要检查 上面环境配置里面的Shell的配置文件里面有没有配置好建议检查一遍,我这里就是没有配置正确导致这个问题

iOS无法热更新或者提示 'flutter 无法打开“iproxy”,因为无法验证开发者‘

解决方法:终端输入

sudo xattr -d com.apple.quarantine [your_flutter_path]/bin/cache/artifacts/libimobiledevice/idevice_id     

sudo xattr -d com.apple.quarantine [your_flutter_path]/bin/cache/artifacts/libimobiledevice/ideviceinfo     
     
sudo xattr -d com.apple.quarantine [your_flutter_path]/bin/cache/artifacts/libimobiledevice/idevicesyslog 

sudo xattr -d com.apple.quarantine [your_flutter_path]/bin/cache/artifacts/usbmuxd/iproxy

iOS提示 ’无法打开”idevice_id“,因为无法验证开发者‘

解决方法:终端操作

$ sudo spctl --master-disable

$ sudo xattr -r -d com.apple.quarantine /opt/flutter/bin/cache/artifacts/libimobiledevice/idevice_id

$ sudo xattr -r -d com.apple.quarantine  /opt/flutter/bin/cache/artifacts/libimobiledevice/idevicename

$ sudo xattr -r -d com.apple.quarantine  /opt/flutter/bin/cache/artifacts/libimobiledevice/idevicescreenshot

$ sudo xattr -r -d com.apple.quarantine  /opt/flutter/bin/cache/artifacts/libimobiledevice/idevicesyslog

$ sudo xattr -r -d com.apple.quarantine  /opt/flutter/bin/cache/artifacts/libimobiledevice/ideviceinfo



Waiting for another flutter command to release the startup lock...

当项目异常关闭,或者android studio用任务管理器强制关闭,下次启动就会出现上面的一行话,

此时需要打开 flutter/bin/cache/lockfile,删除就行了

或者直接用下面的命令:rm [Flutter路径]/flutter/bin/cache/lockfil


到此为止,后续有新发现再更新