Flutter 安装和环境配置之Linux

Published on in Flutter相关文档 with 1,000 views

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

系统配置要求

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

  • 操作系统 : Linux (64 位)
  • 磁盘空间 : 600MB (不包含安装 IDE 和其他工具的空间)
  • 命令工具 : Flutter 需要你的开发环境中已经配置了以下命令行工具。
    • bash
    • curl
    • file
    • git2.x
    • mkdir
    • rm
    • unzip
    • which
    • xz-utils
    • zip
  • 公用库 : Flutter 的 test 命令需要你的系统安装或存在如下的公用库。
    • libGLU.so.1 - 由 mesa 套件 (packages) 提供,比如 Ubuntu/Debian 系统下的 libglu1-mesa,以及 Fedora 系统下的 mesa-libGLU

获取 Flutter SDK {#get-sdk}

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

使用 snapd 安装 Flutter

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

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

内容复制

$ sudo snap install flutter --classic

提示

安装 snap 后,可以使用如下命令展示 Flutter SDK 路径:

内容复制

$ flutter sdk-path

手动安装 Flutter

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

  1. 通过下载下面的安装包以获得最新 stable release 版本的 Flutter SDK:
    flutter_linux_2.8.1-stable.tar.xz
    对于其他发布频道以及更久的构建版本,请查看 SDK 发布 页面。

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

    $ cd ~/development
    $ tar xf ~/Downloads/flutter_linux_2.8.1-stable.tar.xz
    

    如果你不想安装安装包的补丁,你可以跳过步骤 1 或步骤 2,直接获取 Github 上 Flutter 仓库 的源码并执行以下命令:
    内容复制

    $ git clone https://github.com/flutter/flutter.git
    

    你也可以按你的需要切换分支或者tag。例如,你可以使用 stable 版本的分支:
    内容复制

    $ git clone https://github.com/flutter/flutter.git -b stable
    
  3. flutter 工具添加到环境变量中:
    内容复制

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

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

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

    $ flutter precache
    

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

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

提示

要更新已有 Flutter版本,请参阅升级你的 Flutter

运行 flutter doctor

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

内容复制

$ flutter doctor

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

例如:

内容复制

[-] Android 工具链 - 为 Android 设备开发
    • Android SDK 位于 /Users/obiwan/Library/Android/sdk
    ✗ Android SDK 缺少命令行工具;从 https://goo.gl/XxQghQ 下载
    • 尝试重新安装或更新您的 Android SDK,
      详细说明请访问 https://flutter.cn/docs/setup/#android-setup。

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

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

请注意 Flutter 工具有时可能会从 Google 服务器下载资源。下载或使用 Flutter SDK 即表示您同意Google 服务条款

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 中说的一样,你可以通过命令行更新当前窗口的环境变量。但你也许会想要让它一直生效,在任何终端中都可以运行 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.19.0 dev 版开始,dart 命令就直接包含在 Flutter SDK 里了,这样可以更轻松的运行 Dart 命令行应用。下载 Flutter SDK 的时候也将同时包含兼容版本的 Dart SDK,但是如果你已经单独的下载了 Dart SDK,需要请你确保 Flutter SDK 里包含的 dartPATH 环境变量里靠前的位置,因为这两个渠道下载的 dart 可能并不兼容。下述命令将教你判断 flutterdart 命令是否来自于相同的 bin 目录,以及它们是否兼容。

内容复制

$ which flutter dart
  /path-to-flutter-sdk/bin/flutter
  /usr/local/bin/dart

如上命令行返回的内容所示,看起来 flutterdart 并非来自同一 bin 目录,在上面的这个例子里,我们需要更新 PATH 环境变量,将 <path-to-flutter-sdk>/bin 放在 /usr/local/bin 之前。修改完并使命令行窗口生效之后,再次运行 which 命令,就可以发现,flutterdart 位于同一目录了:

内容复制

$ which flutter dart
  /path-to-flutter-sdk/bin/flutter
  /path-to-flutter-sdk/bin/dart

了解更多关于 dart 命令的内容,可以在命令行运行 dart -h,或者在 Dart 文档查看 dart 工具 了解更多。

直接更新环境变量

在某些情况下,你的分发可能无法长期获取使用上面提到的环境变量。发生这种情况时,你可以直接更改环境变量文件。但这需要管理员权限:

  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 开发环境

提示

Flutter 依赖 Android Studio 的全量安装来为其提供 Android 平台的支持。但你也可以使用其他的编辑器来写 Flutter 应用,接下来的步骤会提到这个问题。

安装 Android Studio

  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 设备

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

  1. 在设备上打开 Developer optionsUSB debugging 选项,你可以在 Android documentation 上查看更详细的方法介绍。
  2. 如果是在 Windows 平台上使用,需要安装 Google USB Driver
  3. 通过 USB 接口连接手机和电脑,如果在设备上弹出需要授权弹窗,允许授权以便让电脑能够访问你的开发设备。
  4. 在命令行中,使用 flutter devices 命令来确保 Flutter 能够识别出你所连接的 Android 设备。

配置 Android 模拟器

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

  1. 激活机器上的 VM acceleration 选项。
  2. 打开 Android Studio ,点击 AVD Manager 按钮,选择 Create Virtual Device…
    • 在一些旧的 Android Studio 版本里,需要通过 Android Studio > Tools > Android > AVD Manager ,然后选择 Create Virtual Device… 选项。(只有在 Android 项目中才会显示 Android 子选项。)
    • 如果你以及还没打开某个项目,你可以选择 Configure > AVD Manager 然后选择 Create Virtual 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 协议

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

  1. 确保你安装了 Java 8,并且正确设置了 JAVA_HOME 环境变量到 JDK 目录。
    高于 2.2 版本的 Android Studio 自带了 JDK,所以应无需手动操作。
  2. 打开一个已经提升管理员权限的终端窗口,运行以下命令进行协议的确认。
    内容复制
    $ flutter doctor --android-licenses
    
  3. 仔细阅读每条协议后同意。
  4. 当你同意所有协议后,再次运行 flutter doctor 以确认是否已经可以正常使用 Flutter。

Linux 设置

请注意 Beta! 此区域涵盖桌面支持,它作为 beta 版本提供。Beta 支持仍然存在显着的功能差距,包括可访问性支持。您可以在稳定版频道上尝试桌面支持的测试版快照,或者您可以在测试版频道上了解桌面版的最新更改。有关更多信息,请参阅Flutter 2 中的新增功能中的桌面 部分,这是一篇关于 Medium 的免费文章。

其他 Linux 要求

对于 Linux 桌面开发,除了 Flutter SDK 之外,您还需要以下内容:

运行以下命令

内容复制

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

启用桌面支持

在命令行中,执行以下命令以启用桌面支持

内容复制

$ flutter config --enable-linux-desktop

有关更多信息,请参阅Flutter 的桌面支持



标题:Flutter 安装和环境配置之Linux
作者:yanjing
地址:https://yanjingtp.cn/articles/2022/02/18/1645168819535.html