是什么 ? | : | an UI toolkit for building beautiful, natively compiled applications for mobile(Android、iOS), web, and desktop from a single codebase. |
开发语言 | : | bash、C++ |
官方主页 | : | https://flutter.io |
源码仓库 | : | https://github.com/flutter/flutter |
设置FLUTTER_STORAGE_BASE_URL
和PUB_HOSTED_URL
两个环境变量的值为如下:
export FLUTTER_STORAGE_BASE_URL="https://mirrors.tuna.tsinghua.edu.cn/flutter"
export PUB_HOSTED_URL="https://mirrors.tuna.tsinghua.edu.cn/dart-pub/"
是
macOS, 请在~/.bash_profile
文件末尾添加上面的配置不是
macOS, 请在~/.bashrc
文件末尾添加上面的配置~/.zshrc
文件末尾添加上面的配置说明:
FLUTTER_STORAGE_BASE_URL
环境变量的值是Flutter SDK
用到的一些相关软件的下载地址。
源 | https://storage.googleapis.com/flutter_infra/flutter |
国内镜像 | https://mirrors.tuna.tsinghua.edu.cn/flutter |
PUB_HOSTED_URL
环境变量的值是pub包管理工具的服务器地址。
源 | https://pub.dev/ |
国内镜像 | https://mirrors.tuna.tsinghua.edu.cn/dart-pub/ |
源
服务器都在美国,所以,我们使用国内镜像
。
Flutter SDK
git clone https://gitee.com/dengsgo/flutter.git
源 | https://github.com/flutter/flutter.git |
国内镜像 | https://gitee.com/dengsgo/flutter.git |
这里使用的也是国内镜像
,不用源
是因为github.com
服务器也不在中国, 你要去源
上下载的话,速度会非常慢。国内镜像
是与源
每天同步一次,足够使用了。
flutter
目录,查看其内容flutter/bin
加入PATH
环境变量export PATH=$PATH:~/flutter/bin
Flutter SDK
环境flutter doctor
运行效果如下:
第一次执行flutter
命令的任何子命令都会执行前面3步骤:
building flutter tool
Flutter assets
下载Flutter assets
的URL就是我们预先设置的FLUTTER_STORAGE_BASE_URL
,如果没有预先设置, 这里会卡住。
flutter doctor
命令用于检测Flutter SDK
是否安装完成,只要前4个绿色的对号都选中,就说明Flutter SDK
安装完成了。
安装好Flutter SDK
之后,我们真实的体验一下例子程序。例子程序在Flutter SDK
安装目录的examples
目录里:
这里有不少的例子,我们进入hello_world
这个工程看看:
这是一个非常典型的Flutter App
的工程结构,pubspec.yaml
就是pub
包管理工具的配置文件, 我们要运行这个工程,就会使用pub
下载一些Flutter
的库, 这也就是我们在安装的时候,预先设置了PUB_HOSTED_URL
这个环境变量,如果不预先设置的话,这里速度会非常慢。
1、使用instruments命令启动一个iOS模拟器:
instruments -w "iPhone 8 Plus" -t "Blank"
2、使用flutter devices
命令查看一下连接的设备:
3、使用flutter run
命令运行:
4、运行效果如下:
1、启动一个Android模拟器:
2、使用flutter devices
命令查看一下连接的设备:
3、使用flutter run -d ${deviceId}
命令运行:
4、运行效果如下:
flutter doctor
用来检测Flutter SDK
环境是否建立完整。
示例:
只要前4个绿色的对好都选中,就是OK的。
列出flutter
的channel
。
channel
相当于git的分支。 某些channel
缺少另外一些channel
的功能。
示例:
切换到指定的channel
。
示例:
创建Flutter
工程。
-t
参数只有在master channel
中才有,其他channel
中是没有的, 要使用此参数,请先切换到master channel
。
-t
参数的值有3个。
示例:
flutter devices
类似于adb devices
命令。
示例:
编译工程,然后在指定的Android设备和iOS设备上运行。 如果只连接了一个设备,可以不使用-d
参数。
deviceId
可以通过flutter devices
命令获得。
此命令只能在含有pubspec.yaml
的目录或其子目录中运行,它必须得知道你要运行哪个Flutter
项目。
示例1:
示例2:
如果只连接了一个设备,可以不使用-d
参数。
deviceId
可以通过flutter devices
命令获得。
flutter logs
类似于adb logcat
命令。
示例: