要想安装和运行 Flutter,你的开发环境至少应该满足如下的需求:
flutter
目录整个放在你想放置 Flutter SDK 的路径中(例如 C:\src\flutter
)。请注意
请勿将 Flutter 安装在需要高权限的文件夹内,例如 C:\Program Files\
。
如果你不想安装指定版本的安装包。可以忽略步骤 1 和 2。从 GitHub 上的 Flutter repo 获取源代码,并根据需要,切换到指定的分支或标签。例如:
content_copy
C:\src>git clone https://github.com/flutter/flutter.git -b stable
现在你可以在控制台当中使用 Flutter 的命令了。
如果你想在 Windows 控制台中运行 Flutter 命令,需要按照下面的步骤来将 Flutter 的运行文件路径加入到 PATH
环境变量。
;
分隔已有的内容,加入 flutter\bin
目录的完整路径。Path
变量,然后将 flutter\bin
所在的完整路径作为新变量的值。你需要重新打开已经打开的命令行提示符窗口,这样下次启动命令提示符时,才能访问到刚才修改的变量。
提示
自 Flutter 1.19.0 dev 版本开始,Flutter SDK 在 flutter
命令脚本的同级目录下增加了 dart
命令,你可以更方便地运行 Dart 命令行程序。下载 Flutter SDK 时也会下载对应版本的 Dart SDK,但如果你单独下载了 Dart SDK,请确保 Flutter SDK 内的 dart
在你的环境变量中排在首位,因为单独的 SDK 可能并不兼容 Flutter SDK。下面的命令展示了 flutter
和 dart
是否来自相同的 bin
目录,并且是否可以兼容使用。
content_copy
C:\>where flutter dart
C:\path-to-flutter-sdk\bin\flutter
C:\path-to-flutter-sdk\bin\flutter.bat
C:\path-to-dart-sdk\bin\dart.exe :: this should go after `C:\path-to-flutter-sdk\bin\` commands
C:\path-to-flutter-sdk\bin\dart
C:\path-to-flutter-sdk\bin\dart.bat
如上所示,Flutter SDK 内的 dart
命令不在首位。你需要更新 PATH,将 C:\path-to-flutter-sdk\bin\
放在 C:\path-to-dart-sdk\bin\
前面(当前场景)。接着重启命令行使修改生效,再次运行 where
,此时来自相同目录的 flutter
和 dart
已经排在前面。
content_copy
C:\>where flutter dart
C:\dev\src\flutter\bin\flutter
C:\dev\src\flutter\bin\flutter.bat
C:\dev\src\flutter\bin\dart
C:\dev\src\flutter\bin\dart.bat
C:\dev\src\dart-sdk\bin\dart.exe
然而,如果你在使用 PowerShell
,where
其实是 Where-Object
命令的别名,所以实际上你需要运行 where.exe
。
content_copy
PS C:\> where.exe flutter dart
了解更多 dart
命令的用法,可以在命令行中运行 dart -h
查看,也可以访问 DartVM 运行环境。
flutter doctor
在将 Path
变量更新后,打开一个新的控制台窗口,然后执行下面的命令。如果它提示有任何的平台相关依赖,那么你就需要按照指示完成这些配置:
content_copy
C:\src\flutter>flutter doctor
上述命令会检查你的现有环境,并将检测结果以报告形式呈现出来。仔细阅读它显示的内容,检查是否有尚未安装的软件或是有其他的步骤需要完成(通常会以粗体 呈现)。
例如:
content_copy
[-] Android toolchain - develop for Android devices
• Android SDK at D:\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.
下面的章节介绍了对缺失的内容进行配置的方法。每当您安装了任何一个的依赖项,就可以随时执行 flutter doctor
来检查是否正确配置了所有内容。
提示
如果 flutter doctor
提示 Android Studio 的 Flutter 或者 Dart 插件尚未安装,请移步文档 编辑器设定 查阅如何解决这个问题。
请注意 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 依赖 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。请注意
Win32 的 Beta 支持和 UWP 的 Alpha 版支持 本页涵盖的桌面支持,描述的是对 Windows (Win32) 的 Beta 支持,以及对 UWP 的 Alpha 支持。Windows UWP 是由社区 (非官方) 提供支持的。
你可以在 stable
渠道尝试这个 Beta 版的桌面支持,或者可以切换到使用 beta
渠道,使用最新的桌面版支持。如果要跟进 Windows UWP 最新版,需要使用 master
渠道。
更多有关 桌面版 的详细信息,请查看文章: Flutter 2.2 带来了哪些更新。
对于 Windows 桌面开发来说,除了 Flutter SDK 以外你还需要以下内容:
在命令行中执行以下命令以开启 Win32 桌面端支持:
content_copy
$ flutter config --enable-windows-desktop
Windows UWP 桌面支持需要先升级到 master
发布渠道,然后启用 UWP。
content_copy
$ flutter channel master
$ flutter upgrade
$ flutter config --enable-windows-uwp-desktop
更多详情请查看 Flutter 的桌面端支持