前言
本篇文章主要介绍在 Mac 环境搭建 Flutter 的相关流程及可能遇到的一些问题的解决方案。Flutter 官方其实已经提供了很全面的 安装流程 , 所以这里主要讲的还是一些大家可能遇到的环境问题的解决办法。
环境搭建
Flutter 开发环境需要安装 JDK,Android SDK 和 Flutter SDK, 这是必须的三个基础依赖,我们在安装过程中,这三部分可以并行,这样可以节省一些时间。
安装Flutter
在国内使用 Flutter ,由于网络环境限制,我们可以访问国内镜像来加快速度,Flutter 应用的运行也有硬件设备的要求,可参照官网示例 。
-
配置环境变量。
export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
根据 shell 工具的不同,需要配置不同的文件。这里说明对于bash和zsh的操作,使用 bash 时,环境变量配置在用户目录 .bash_profile 下,使用 zsh 时,环境变量配置在用户目录 .zshrc 文件下。如果这不到这两个文件,可以相应的创建并编辑。
-
bash
vim ~/.bash_profile -
zsh
vim ~/.zshrc
-
去flutter官网下载其最新可用的安装包。
-
解压安装包到你想安装的目录。
cd ~/development unzip ~/Downloads/flutter_macos_v0.5.1-beta.zip -
添加 Flutter 环境变量
在第1步的配置文件中新增配置如下
到这里,有关于 Flutter 的配置就结束了。
安装Android环境
我在本地开发中,搭建了 android 开发环境,所以此处仅就 android 配置进行说明。我们真正需要的是 Android SDK,一般通过安装 Android Studio来安装 SDK, 这样我们可以选择使用 AS 作为我们的开发 IDE。
-
下载
在 Android 官网下载 AS。
-
安装
我安装的版本是 AS 3.6 preview, 安装过程中可能发现 SDK 安装失败,服务器访问超时,导致后续软件无法运行。解决办法有以下几种:
-
云服务器访问
这是目前为止我找到解决网络问题最简单的方法,使用云服务器进行网络转发。(链接)我们需要下载的包主要在 dl.google.com 这个域名下,找到可以转发的 IP ,配置 host 即可解决问题。
vim /etc/hosts
IP 可能只是临时有效,发现下载缓慢时,可以在上面链接找一个速度更快的 IP,切换以下 host 配置即可。
-
翻墙
购买或搭建梯子来下载外网服务,这个成本比较高,也比较花时间。
-
配置代理
具体的代理服务器需要自行查询。
Android SDK 本身比较大,所以下载可能需要等比较长时间,只要不报错就说明 SDK 安装成功了。解决网络问题后,其他内容就比较简单了,一直往下点下一步就可以。
安装JDK
-
安装
在 Android 平台开发 Flutter 应用必须安装 JDK, 并且安装的 JDK 版本需要和 Android 版本适配,否则应用也是跑不起来的,在这一块也折腾了很长时间。自测 Android 10 适配 JDK8 , JDK 版本不能过高。(适配表)
- 检测
安装后,在命令行输入 java -version 查看下版本,确认是否安装成功。如果 java 指令无效,则需要配置下环境变量。
安装 Android 模拟器
完成以上步骤后,环境基本上已经处理好了。通常调试应用,我们可以通过链接设备或者使用 Android 模拟器。 体验上讲,模拟器会更好一些,我们可以测试不同的设备型号。
-
安装模拟器
AS 自带了模拟器,可以点击 IDE 右上角手机按钮,再根据自己的需要下载对应的模拟器设备。
-
运行模拟器
下载好模拟器之后,点击运行,打开模拟器之后, 先开启开发者选项,再开启USB debugging,步骤如下。完成后,模拟器调试就结束了。
运行应用
下来就是配置一下我们的 IDE 了。开发过程可以选用 Android Studio 或者 VS code。为了支持 Flutter , 需要为 IDE 安装 Flutter 扩展插件。
- AS 配置
可在 AS Plugin 中,搜索 FLutter , 安装并重启。安装成功后,安装 Flutter 官方步骤新建一个工程,在 IDE 上方选中入口文件并运行。
- VS code 配置
在 VS code 中安装 Flutter 和 Dart 插件。命令后中输入 flutter run ,观察模拟器可以看到应用正常启动了。
结语
整个环境搭建过程,出现了比较多的问题,最后发现基本上都是网络问题导致软件包没有安装成功以及Android版本和JDK版本不兼容。各种搜索才找到了可行的方案,最终跑起来了 Flutter 应用。
我们未来的常用的消费类终端设备必然是面向更轻巧,更便携的。目前移动设备的市场十分广泛,基本占领了消费者的主要市场。作为开发者,还是很有必要了解一下现阶移动端开发的相关内容的。
FLutter 作为一款跨平台的原生开发框架,目前市场火热,也得到了很多企业级的应用,能够显著提升生产效率。大家还不快来了解一下?