在 Linux 操作系统上安装和配置 Flutter 开发环境

系统配置要求

要想安装和运行 Flutter,你的开发环境至少应该满足如下的需求:

  • 操作系统: Linux (64 位)

  • 磁盘空间: 600MB (不包含安装 IDE 和其他工具的空间)

  • 命令工具: Flutter 需要你的开发环境中已经配置了以下命令行工具。

    • bash
    • curl
    • file
    • git 2.x
    • mkdir
    • rm
    • unzip
    • which
    • xz-utils
    • zip
  • 公用库: Flutter 的 test 命令需要你的系统安装或存在如下的公用库。

    • libGLU.so.1 - 由 mesa 套件 (packages) 提供,比如 Ubuntu/Debian 系统下的 libglu1-mesa,以及 Fedora 系统下的 mesa-libGLU

获取 Flutter SDK

在 Linux 上你有两种方式安装 Flutter。

使用 snapd 安装 Flutter

最简单的方式是使用 snapd 在 Linux 上安装 Flutter。更多详情请查看:安装 snapd

如果你已经有 snapd 了,那么你可以 通过 Snap 商店来安装 Flutter,或者通过以下命令安装:

$ sudo snap install flutter --classic

手动安装 Flutter

如果你没有 snapd,或者你无法使用它,那么你可以通过以下步骤安装 Flutter。

  1. 通过下载下面的安装包以获得最新 stable release 版本的 Flutter SDK:

    (loading…)

    对于其他发布频道以及更久的构建版本,请查看 SDK 发布 页面。

  2. 将文件解压到合适的地方,例如:

    $ cd ~/development
    $ tar xf ~/Downloads/flutter_linux_vX.X.X-stable.tar.xz
    
  3. flutter 工具添加到环境变量中:

    $ export PATH="$PATH:`pwd`/flutter/bin"
    

    用这个命令添加 PATH 仅在当前的命令行视窗生效。要将 Flutter 永久添加到环境变量中,请参阅 更新您的路径

  4. 可选步骤,提前下载二进制开发文件:

    flutter 工具将下载所需的平台特殊开发二进制文件。对于预下载这些工件更好的做法是(例如,在系统构建环境中,网络可能出现不通畅的问题),通过运行下面命令提前下载 iOS 和 Android 的二进制文件:

    $ flutter precache
    

    对于这些可选的下载项,请参考 flutter help precache

你现在可以运行 Flutter 命令了!

运行 flutter doctor

运行以下命令以查看是否还有缺失的依赖需要安装,你需要安装这些依赖以完成设置(要看到详细输出,请添加 -v 标识):

$ flutter doctor

该命令将检查你的环境情况并显示汇报在命令行窗口中。 Dart SDK 已经绑在 Flutter 中了;你无需单独再安装 Dart。仔细检查你是否还有需要安装的东西,或者要执行的任务(在该文字中提示的)。

例如:

[-] Android toolchain - develop for Android devices
    • Android SDK at /Users/dash/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.

上面的部分描述了如何执行这些任务,并完成设置流程。

当你已经安装了全部缺失的依赖之后,请再次运行 flutter doctor 命令,以验证你是否是真的全部正确设置完毕了。

更新你的环境变量

获取 Flutter SDK 中说的一样,你可以通过命令行更新当前窗口的环境变量。但你也许会想要让它一直生效,在任何终端中都可以运行 flutter 命令。

下面是更改环境变量的详细步骤,这将会对所有终端生效,且仅在该机器上生效。通常,每当你打开一个新的窗口,都会将一行添加到执行的文件。例如:

  1. 找到通过压缩包下载解压或 git clone 命令检出的 Flutter SDK 的文件夹,你需要在第三步用到它。

  2. 在你的 shell 中打开(或者创建)rc 文件。例如,Linux 默认使用 Bash shell,所以编辑 $HOME/.bashrc 文件。如果你使用不同的 shell,那么在你电脑上的文件路径以及文件名必须不同。

  3. 并将下面命令行里 [PATH_OF_FLUTTER_GIT_DIRECTORY] 修改为你通过 git clone 命令检出的 Flutter 仓库目录地址,或者通过下载 Flutter SDK 压缩包解压之后的目录地址。

    $ export PATH="$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"
    
  4. 运行 source $HOME/.<rc file> 刷新当前窗口或者打开一个新的终端窗口就会自动更新这个文件。

  5. 通过运行以下命令验证 flutter/bin 确实加到环境变量中了:

    $ echo $PATH
    

    通过运行以下命令验证 flutter 命令是否可用:

    $ which flutter
    

直接更新环境变量

在某些情况下,你的分发可能不会一直使用上面提到的环境变量。在这种情况下,你可以直接更改环境变量文件。但这需要管理员权限:

  1. 找到你存放 Flutter SDK 的路径。

  2. 定位系统根目录下的 etc 文件夹,然后用 root 权限打开 profile 文件。

      $ sudo nano /etc/profile
    
  3. 更新 Flutter SDK 文件夹所在路径的字符串。

    if [ "`id -u`" -eq 0 ]; then
       PATH="..."
    else
       PATH="/usr/local/bin:...:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"
    fi
    export PATH
    
  4. 结束当前会话并重启系统。

  5. 当你重新启动了新会话,请确认 flutter 命令已经可以执行:

    $ which flutter
    

更多关于如何在 Bash 中配置环境变量的信息请查看 这条 StackExchange 提问。更多关于如何在 Z shell 中配置环境变量的信息请查看 这条 StackExchange 提问

设置 Android 开发环境

安装 Android Studio

help Help

  1. 下载并安装 Android Studio

  2. 运行 Android Studio,并进入 ‘Android Studio Setup Wizard’,这会安装最新的 Android SDK, Android SDK Platform-Tools 以及 Android SDK Build-Tools,这些都是在开发 Android Flutter 应用时所需要的。

  3. 运行 flutter doctor 确保 Flutter 已经定位到了你的 Android Studio 的安装位置。如果 Flutter 并未定位到,运行 flutter config --android-studio-dir <directory> 设置你的 Android Studio 的安装目录。

配置 Android 设备

help Help

在 Android 设备上运行或测试 Flutter 应用之前,你需要一个运行 Android 4.1(API 版本 16)或者更高的设备。

  1. 在设备上打开 Developer optionsUSB debugging 选项,你可以在 Android documentation 上查看更详细的方法介绍。

  2. [可选] 要使用无线调试,启用设备上的 Wireless debugging。详细的操作步骤在 Android 文档 里有。

  3. 如果是在 Windows 平台上使用,需要安装 Google USB Driver

  4. 通过 USB 接口连接手机和电脑,如果在设备上弹出需要授权弹窗,允许授权以便让电脑能够访问你的开发设备。

  5. 在终端中,运行 flutter devices 命令来确认 Flutter 是否识别到你连接的 Android 设备。默认情况下,Flutter 会使用你的 adb 工具所在的 Android SDK 版本。如果你希望 Flutter 使用不同的 Android SDK 安装版本,你必须设置 ANDROID_SDK_ROOT 环境变量到那个安装目录。

配置 Android 模拟器

help Help

根据以下步骤来将 Flutter 应用运行或测试于你的 Android 模拟器上:

  1. 激活机器上的 VM acceleration 选项。

  2. 打开 Android Studio,点击 Device Manager 按钮,在 Virtual 这个标签页下选择 Create Device

    • 在一些旧的 Android Studio 版本里,需要通过 Android Studio > Tools > Android > AVD Manager,然后选择 Create Virtual Device… 选项。(只有在 Android 项目中才会显示 Android 子选项。)

    • 如果你以及还没打开某个项目,你可以选择 3-Dot Menu / More Actions > Virtual Device Manager 然后选择 Create Device 选项

  3. 选择相应的设备并选择 Next 选项。

  4. 选择一个或多个你想要模拟的 Android 版本的系统镜像,然后选择 Next 选项。推荐选择 x86 或者 x86_64 镜像。

  5. 在 Emulated Performance 下选择 Hardware - GLES 2.0 选项来开启 硬件加速

  6. 确保 AVD 选项配置正确,并选择 Finish 选项。

    想要查看上述步骤的更多详细信息,请查看 Managing AVDs 页面。

  7. 在 Android Virtual Device Manager 中,点击工具栏中的 Run 选项,模拟器会启动并为你所选择的系统版本和设备显示出相应的界面。

同意 Android 协议

help Help

在使用 Flutter 前,你必须同意 Android SDK 平台的协议。你可以在安装完上述工具后执行这一步。

  1. 打开一个已经提升管理员权限的终端窗口,运行以下命令进行协议的确认。

    $ flutter doctor --android-licenses
    
  2. 仔细阅读每条协议后同意。

  3. 当你同意所有协议后,再次运行 flutter doctor 以确认是否已经可以正常使用 Flutter。

Linux 安装

其他 Linux 需要的内容

对于开发 Linux 桌面端应用来说,除了 Flutter SDK 以外你还需要以下内容:

运行以下命令进行安装:

$ sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev

下一步

编辑器设置。