想要安装并运行 Flutter,你的开发环境需要最低满足以下要求:
git
进行安装和升级,我们建议您安装包含了 git
的 Xcode,或者您也可以 单独安装 git
。重点提醒
如果您要在装有最新 Apple M1 处理器 的 Mac 上安装, 这些补充说明 可能对您很有用,我们已经开始支持新的 Apple Silicon 架构。
下载以下安装包来获取最新的 stable Flutter SDK:
flutter_macos_2.8.1-stable.zip
想要获取到其他版本的安装包,请参阅 SDK 版本列表 页面。
将文件解压到目标路径, 比如:
content_copy
$ cd ~/development
$ unzip ~/Downloads/flutter_macos_2.8.1-stable.zip
配置 flutter
的 PATH 环境变量:
content_copy
$ export PATH="$PATH:`pwd`/flutter/bin"
这个命令配置了 PATH
环境变量,且只会在你 当前 命令行窗口中生效。如果想让它永久生效,请查看 更新 PATH 环境变量。
现在你可以愉快地运行 Flutter 的命令行啦!
提示
如果想要升级当前的 Flutter 版本,可以查看 升级 Flutter。
通过运行以下命令来查看当前环境是否需要安装其他的依赖(如果想查看更详细的输出,增加一个 -v
参数即可):
content_copy
$ flutter doctor
这个命令会检查你当前的配置环境,并在命令行窗口中生成一份报告。安装 Flutter 会附带安装 Dart SDK,所以不需要再对 Dart 进行单独安装。你需要仔细阅读上述命令生成的报告,看看别漏了一些需要安装的依赖,或者需要之后执行的命令(这个会以 加粗的文本 显示出来)。
比如你可能会看到下面这样的输出:
content_copy
[-] Android toolchain - develop for Android devices
• Android SDK at /Users/obiwan/Library/Android/sdk
✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
• Try re-installing or updating your Android SDK,
visit https://flutter.cn/docs/setup/#android-setup for detailed instructions.
之后的部分会向你描述如果执行这些命令来完成整体的配置过程。
Once you have installed any missing dependencies, run the flutter doctor
command again to verify that you’ve set everything up correctly.
该建议仅适用于高级用例
你也可以不从归档,而是用 Git 直接下载。例如,可以运行下方的命令,以下载稳定分支的 SDK:
content_copy
$ git clone https://github.com/flutter/flutter.git -b stable
更新环境变量,并运行 flutter doctor
。这个命令将会告诉你,是否还缺少运行 Flutter 所需要安装的其他依赖项(例如 Android SDK)。
如果你不使用归档,Flutter 将会下载必要的开发二进制文件(如果你使用的归档,那么这些文件已经包含在内了)。你也许会想要提前下载这些开发二进制文件(例如,您可能希望设置系统构建环境,或是您的网络可用性不佳)。那么你可以运行以下命令:
content_copy
$ flutter precache
更多额外下载选项,请参阅 flutter help precache
。
请注意 The Flutter tool may occasionally download resources from Google servers. By downloading or using the Flutter SDK you agree to the Google Terms of Service.
Flutter 工具可能会偶尔从 Google 的服务器上下载资源,下载了或使用 Flutter SDK 代表您同意了 Google 服务条款。
举个例子,当开发者们从 GitHub 安装(而不是从预打包的归档文件中安装),为了要执行 flutter
命令,Flutter 工具将会在首次运行时从谷歌服务器下载 Dart SDK。升级 Flutter 时亦会发生 (比如运行 flutter upgrade
命令) 。
flutter
工具使用了 Google Analytics 来对基本使用情况和 崩溃报告 进行匿名的统计。这些数据用来帮助改善 Flutter 工具。
在第一次运行或者任何涉及到 flutter config
的信息都不会进行发送,所以你可以在发送分析数据之前选择禁止分析数据的统计。要禁用这一功能,只需要输入 flutter config --no-analytics
即可,想要查看当前设置使用命令 flutter config
。如果你禁用了统计信息发送,这次的禁用行为会被记录发送,其他任何信息,以及未来都不会再有任何数据会被记录。
Dart 工具同样可能会发送使用指标数据和崩溃报告给 Google。控制这些发送的数据,请参考下面的 [dart
命令行][dart
tool 参数:
--enable-analytics
: 启用匿名分析;--disable-analytics
: 禁用匿名分析。Google 的隐私权政策 里详细描述了这些服务会如何控制这些数据。
正如 获取 Flutter SDK 一文中所展示你可以在当前命令行会话中更新你的 PATH 环境变量。但你也许想让这个配置永久生效,这样就可以在任意一个命令行会话中使用 flutter
命令了。
以下配置环境变量让其永久生效的方法在不同的机器上有略微的差别。基本上方法都是在某一个文件中增加一句命令,让它在每次新的命令行窗口打开时都执行一遍。比如:
首先决定你想要将 Flutter SDK 下载或者通过 git clone
命令到哪一个目录内,获取并记录这个目录的路径,你将要在第 3 步中用到它。
打开或者创建 shell 的 rc
文件,比如,在 Linux 和 macOS Mojave 或 Mojave 之前的系统里,是默认使用 Bash 的,所以需要修改 $HOME/.bashrc
文件。 macOS Catalina 操作系统默认使用 Z Shell,所以需要修改 $HOME/.zshrc
文件。请知晓,如果你使用不同的 shell,文件目录或文件名可能会有所不同。
在文件中增加下列这行命令,并将其中的 [PATH_OF_FLUTTER_GIT_DIRECTORY]
更改为你第一步获取到的路径:
content_copy
$ export PATH="$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"
运行 source $HOME/.bash_profile
来刷新当前命令行窗口。
通过运行以下命令来验证 flutter/bin
文件夹是否已经添加到 PATH 环境变量中:
content_copy
$ echo $PATH
验证 flutter
命令是否可用,可以执行下面的命令检测:
content_copy
$ which flutter
提示
自 1.19.0 dev 版开始,dart
命令就直接包含在 Flutter SDK 里了,这样可以更轻松的运行 Dart 命令行应用。下载 Flutter SDK 的时候也将同时包含兼容版本的 Dart SDK,但是如果你已经单独的下载了 Dart SDK,需要请你确保 Flutter SDK 里包含的 dart
在 PATH
环境变量里靠前的位置,因为这两个渠道下载的 dart
可能并不兼容。下述命令将教你判断 flutter
与 dart
命令是否来自于相同的 bin
目录,以及它们是否兼容。
content_copy
$ which flutter dart
/path-to-flutter-sdk/bin/flutter
/usr/local/bin/dart
如上命令行返回的内容所示,看起来 flutter
和 dart
并非来自同一 bin
目录,在上面的这个例子里,我们需要更新 PATH
环境变量,将 <path-to-flutter-sdk>/bin
放在 /usr/local/bin
之前。修改完并使命令行窗口生效之后,再次运行 which
命令,就可以发现,flutter
和 dart
位于同一目录了:
content_copy
$ which flutter dart
/path-to-flutter-sdk/bin/flutter
/path-to-flutter-sdk/bin/dart
了解更多关于 dart
命令的内容,可以在命令行运行 dart -h
,或者在 Dart 文档查看 dart
工具 了解更多。
macOS 可以允许开发 iOS、Android 和 Web(技术预览版正式发布)三个平台的 Flutter 应用,你可以任选一个平台完成初始配置,以此来搭建并运行起来你的第一个 Flutter 应用。
开发 iOS 平台上的 Flutter 应用,你需要一个安装了 Xcode 的 Mac 设备。
通过 直接下载 或者通过 Mac App Store 来安装最新稳定版 Xcode;
配置 Xcode 命令行工具以使用新安装的 Xcode 版本。从命令行中运行以下命令:
content_copy
$ sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
$ sudo xcodebuild -runFirstLaunch
当你安装了最新版本的 Xcode,大部分情况下,上面的路径都是一样的。但如果你安装了不同版本的 Xcode,你可能要更改一下上述命令中的路径。
运行一次 Xcode 或者通过输入命令 sudo xcodebuild -license
来确保已经同意 Xcode 的许可协议。
旧版本可能也能够正常工作,但是不建议在 Flutter 开发环境中使用。旧版本的 Xcode 不支持定位代码,还可能无法正常工作。
安装了 Xcode 之后,你就可以在 iOS 真机或者模拟器上运行 Flutter 应用了。
如果想要在 iOS 模拟器中运行和测试 Flutter 应用,按照以下步骤即可:
在你的 Mac 中,通过 Spotlight 或者以下命令来运行模拟器:
content_copy
$ open -a Simulator
通过模拟器菜单中的 Hardware > Device 或者 File > Open Simulator 选项检查当前模拟器是否是 64 位机型(iPhone 5S 或之后的机型)。
Depending on your development machine’s screen size, simulated high-screen-density iOS devices might overflow your screen. Grab the corner of the simulator and drag it to change the scale. You can also use the Window > Physical Size or Window > Pixel Accurate options if your computer’s resolution is high enough.
根据你当前开发机器的屏幕尺寸,模拟器模拟出来的高密度屏幕的设备可能会溢出你的屏幕,你可以调整模拟器的边角来拖动改变比例,如果你的开发机分辨率很高的话,也可以通过菜单中的 Window > Physical Size or Window > Pixel Accurate 选项来更改模拟器的缩放比例。
通过以下步骤来创建你的第一个 Flutter 应用并进行测试:
$ flutter create my_app
my_app
的目录,包含了 Flutter 初始的应用模版,切换路径到这个目录内:$ cd my_app
$ flutter run
如果你想把 Flutter 应用部署到 iOS 的真机上,你还需要一些别的工具和一个 Apple 开发者账号。另外,你还需要在 Xcode 上针对你的机器做一些设置。
如果你的应用不依赖 Flutter plugins 与原生 iOS 代码交互,你可以跳过这一步。通过运行以下命令 安装和设置CocoaPods。
content_copy
$ sudo gem install cocoapods
提示
Ruby的默认版本需要 root 权限 sudo
来安装 CocoaPods gem,如果你使用的是 Ruby Version 管理器,可能就无需 root 权限。
按照下面 Xcode 签名流程来配置你的项目:
通过在命令行中于你当前 Flutter 项目目录下运行 open ios/Runner.xcworkspace
命令来打开默认的 Xcode 工程。
在运行按钮的下拉列表里选择你想要部署到的设备;
在左侧的导航面板中选择 Runner
项目;
在 Runner
项目的设置页面,请确保勾选你的开发团队。在不同的 Xcode 版本里,这一部分的操作界面不同:
当选择了一个团队之后,Xcode 会创建和下载一个开发证书,并在你的账户里为你的社保注册,并在需要的时候创建和下载一个配置文件。
Trust
即可。执行 flutter run
命令,或者在 Xcode 里点击运行,来运行你的应用。
提示
Flutter 依赖 Android Studio 的全量安装来为其提供 Android 平台的支持。但你也可以使用其他的编辑器来写 Flutter 应用,接下来的步骤会提到这个问题。
flutter doctor
确保 Flutter 已经定位到了你的 Android Studio 的安装位置。如果 Flutter 并未定位到,运行 flutter config --android-studio-dir <directory>
设置你的 Android Studio 的安装目录。在 Android 设备上运行或测试 Flutter 应用之前,你需要一个运行 Android 4.1(API 版本 16)或者更高的设备。
flutter devices
命令来确保 Flutter 能够识别出你所连接的 Android 设备。根据以下步骤来将 Flutter 应用运行或测试于你的 Android 模拟器上:
在使用 Flutter 前,你必须同意 Android SDK 平台的协议。你可以在安装完上述工具后执行这一步。
JAVA_HOME
环境变量到 JDK 目录。$ flutter doctor --android-licenses
flutter doctor
以确认是否已经可以正常使用 Flutter。请注意
正式进入 Beta 版本! 该部分包含了桌面端的支持已经正式发布 beta 版本。即便是 Beta 版本,仍还是缺少一些功能支持,例如无障碍功能。你可以在 stable channnel 上尝试 beta 桌面版支持,或者也可以在 beta channel 上获得最新桌面版的更新。更多有关桌面版 的详细信息,请查看 Medium 上这篇 Flutter 2 带来了哪些更新 文章。
对于开发 macOS 桌面端应用来说,除了 Flutter SDK 以外你还需要以下内容:
在命令行中执行以下命令以开启桌面端支持
content_copy
$ flutter config --enable-macos-desktop
更多详情请查看 Flutter 的桌面端支持