开场白
本文记录我第一次配置Flutter环境的经历,希望对大家有帮助。
1.下载Flutter的SDK
- 进入官网
- 点击Get started按钮
- 根据你的操作系统选择要下载的版本,我用的Mac,所有选择MacOS版本

- 下载最新版本,图中是我写文章时选择下载的版本

2.安装路径
下载后进行解压,将flutter文件夹整体放到了根路径opt中(仅供参考,安装在哪里看你自己的习惯)。
/opt/flutter
3.配置环境变量
本人使用的zsh,配置~./zshrc
#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
注意:FLUTTER=/opt/flutter/bin,这个是安装路径
配置完成后,重新打开终端或者输入命令
source ~/.zshrc
P.S. 如果是bash,配置.bash_profile文件
4.检测指令
flutter doctor
该指令用于检测Flutter环境,下图展示我的已经配置好的状态:

5.配置Android环境
官网下载Android Studio
5.1配置SDK
首次启动会提示安装SDK。在国内可以正常安装。但是需要手动安装一个工具。 打开Android Studio,进入偏好设置Appearance & Behavior->System Settings->Android SDK->SDK Tools
勾选掉下方的Hide Obsolete Packages,在列表中选择安装Android SDK Tools(Obsolete)

5.2Android Studio安装Flutter插件

安装完成后,打开Android Studio,会有Start a new Flutter project选项

6.解决Android toolchain问题
再次执行flutter doctor命令,可能会出现Android toolchain的问题:
- 打开终端,输入以下命令,然后无脑按y键(同意)
flutter doctor --android-licenses
7.配置安卓模拟器
被安利一款模拟器,叫做“夜神”,据说是比较好用的。本人也是刚刚开始搞Flutter,有感兴趣的朋友可以试试,夜神模拟器下载地址。
8.Gradle卡住问题
创建Flutter工程后,运行会出现Grandle卡住问题:
Running Gradle task 'assembleDebug'...
网上查了一下,说是Gradle仓库在国外,解决它比较简单的操作就是使用国内镜像。需要修改两个文件:
- 修改项目中的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.gradle文件
- 文件路径:flutter文件夹位置/packages/flutter_tools/gradle/flutter.gradle
- 修改内容:

以上两步估计大部分人都能解决问题,因为网上看了好多文章,都是这么处理的。但是我还是无法运行。直到看到了这一篇文章Flutter App Run卡在Running Gradle task 'assembleDebug'...,我按照作者的解决方法操作了一下:
- 重新下载了最新版本的gradle。并在偏好设置中指定了新下载的gradle。

- 修改build.gradle文件中的dependencies->classpath的值com.android.tools.build:gradle:3.5.0变成com.android.tools.build:gradle:3.6.3

- 修改gradle-wrapper.properties文件中distributionUrl的值,原值是5.6.2,替换成6.4.1

9.最后创建了一个新项目,再试试。
最后我又重新创建了一个新项目,把Android studio偏好设置中的Gradle设置为默认状态,只修改了gradle-wrapper.properties文件中的distributionUrl值,发现也可以运行起来,上网查了查distributionUrl值的作用,说是下载gradle用的,build过程中要依赖gradle。估计我下载后,运行起来,本地已经有了gradle的缓存,所以再创建项目后直接可以运行了。