在 Linux 上开始构建 Flutter Android 应用
验证系统要求
要安装并运行 Flutter,Linux 环境必须满足以下硬件和软件要求。
硬件要求
Linux Flutter 开发环境必须满足以下最低硬件要求。
要求 | 最低 | 推荐 |
---|---|---|
CPU 内核 | 4 | 8 |
内存(GB) | 8 | 16 |
显示分辨率(像素) | WXGA(1366 x 768) | FHD(1920 x 1080) |
可用磁盘空间(GB) | 11.0 | 60.0 |
软件要求
要为 Android 编写和编译 Flutter 代码,必须安装以下版本的 Linux 和列出的软件包。
操作系统
Flutter 支持 Debian Linux 11 或更高版本和 Ubuntu Linux 20.04 LTS 或更高版本。
开发工具
要在 Linux 上开发 Flutter
-
验证是否已安装以下工具:
bash
、file
、mkdir
、rm
、which
$ which bash file mkdir rm which /bin/bash /usr/bin/file /bin/mkdir /bin/rm which: shell built-in command
-
安装以下软件包:
curl
、git
、unzip
、xz-utils
、zip
、libglu1-mesa
$ sudo apt-get update -y && sudo apt-get upgrade -y; $ sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa
-
要开发 Android 应用
-
为 Android Studio 安装以下先决条件包:
libc6:i386
、libncurses5:i386
、libstdc++6:i386
、lib32z1
、libbz2-1.0:i386
$ sudo apt-get install \ libc6:i386 libncurses5:i386 \ libstdc++6:i386 lib32z1 \ libbz2-1.0:i386
-
安装 Android Studio 2023.1(Hedgehog)以调试和编译适用于 Android 的 Java 或 Kotlin 代码。Flutter 需要 Android Studio 的完整版本。
-
当你运行当前版本的 flutter doctor
时,它可能会列出这些包中某个包的不同版本。如果出现这种情况,请安装它推荐的版本。
上述软件的开发者为这些产品提供支持。要解决安装问题,请查阅该产品的文档。
配置文本编辑器或 IDE
你可以使用任何文本编辑器或集成开发环境 (IDE) 结合 Flutter 的命令行工具来构建应用。
使用带有 Flutter 扩展或插件的 IDE 可以提供代码补全、语法高亮、小部件编辑辅助、调试和其他功能。
热门选项包括
- Visual Studio Code 1.77 或更高版本,带有 适用于 VS Code 的 Flutter 扩展。
- Android Studio 2023.1(Hedgehog)或更高版本,带有 适用于 IntelliJ 的 Flutter 插件。
- IntelliJ IDEA 2023.1 或更高版本,带有 适用于 IntelliJ 的 Flutter 插件。
安装 Flutter SDK
要安装 Flutter SDK,你可以使用 VS Code Flutter 扩展或自行下载并安装 Flutter 捆绑包。
使用 VS Code 安装 Flutter
要使用这些说明安装 Flutter,请验证你已安装 Visual Studio Code 1.77 或更高版本以及 适用于 VS Code 的 Flutter 扩展。
提示 VS Code 安装 Flutter
-
启动 VS Code。
-
要打开命令面板,请按 Control + Shift + P。
-
在命令面板中,键入
flutter
。 -
选择Flutter:新建项目。
-
VS Code 会提示你找到计算机上的 Flutter SDK。
-
如果你已安装 Flutter SDK,请单击找到 SDK。
-
如果您尚未安装 Flutter SDK,请点击下载 SDK。
如果您尚未按照开发工具先决条件中指示安装 Git,此选项会将您发送到 Flutter 安装页面。
-
-
当提示哪个 Flutter 模板?时,忽略它。按Esc。在检查您的开发设置后,您可以创建一个测试项目。
下载 Flutter SDK
-
当选择 Flutter SDK 文件夹对话框显示时,选择您要安装 Flutter 的位置。
VS Code 会将您置于用户个人资料中以开始。选择其他位置。
考虑
~/development/
-
点击克隆 Flutter。
在下载 Flutter 时,VS Code 会显示此弹出通知
Downloading the Flutter SDK. This may take a few minutes.
此下载需要几分钟。如果您怀疑下载已挂起,请点击取消,然后重新开始安装。
-
一旦完成下载 Flutter,输出面板将显示。
Checking Dart SDK version... Downloading Dart SDK from the Flutter engine ... Expanding downloaded archive...
成功后,VS Code 会显示此弹出通知
Initializing the Flutter SDK. This may take a few minutes.
在初始化时,输出面板显示以下内容
Building flutter tool... Running pub upgrade... Resolving dependencies... Got dependencies. Downloading Material fonts... Downloading Gradle Wrapper... Downloading package sky_engine... Downloading flutter_patched_sdk tools... Downloading flutter_patched_sdk_product tools... Downloading windows-x64 tools... Downloading windows-x64/font-subset tools...
此进程还会运行
flutter doctor -v
。在此过程的此步骤中,请忽略此输出。Flutter Doctor 可能会显示不适用于此快速入门的内容的错误。当 Flutter 安装成功时,VS Code 会显示此弹出通知
Do you want to add the Flutter SDK to PATH so it's accessible in external terminals?
-
VS Code 可能会显示 Google Analytics 通知。
如果您同意,请点击确定。
-
要在所有终端窗口中启用
flutter
- 关闭,然后重新打开所有终端窗口。
- 重启 VS Code。
下载然后安装 Flutter
要安装 Flutter,请从其存档下载 Flutter SDK 捆绑包,将捆绑包移动到您想要存储的位置,然后解压 SDK。
-
下载以下安装捆绑包以获取 Flutter SDK 的最新稳定版本。
对于其他发布渠道和较旧版本,请查看SDK 存档。
Flutter SDK 应下载到 Linux 默认下载目录:
~/Downloads/
。 -
创建一个可以安装 Flutter 的文件夹。
考虑在
/usr/bin/
创建目录。 -
将 zip 文件解压到您想存储 Flutter SDK 的目录中。
$ ~/Downloads/flutter_sdk_v1.0.0.zip /usr/bin/
完成后,Flutter SDK 应位于
/usr/bin/flutter
目录中。
将 Flutter 添加到您的PATH
要在 shell 中运行 Flutter 命令,请将 Flutter 添加到 PATH
环境变量。
-
检查在打开新的控制台窗口时启动哪个 shell。这将是你的默认 shell。
$ echo $SHELL
这与告诉你当前控制台中运行哪个 shell 的另一个命令不同。
$ echo $0
-
要将 Flutter 添加到你的
PATH
,展开默认 shell 的条目,然后选择命令。显示 bash 命令
$ echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.bash_profile
显示 zsh 命令
$ echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.zshenv
显示 fish 命令
$ fish_add_path -g -p $HOME/development/flutter/bin
显示 csh 命令
$ echo 'setenv PATH "$HOME/development/flutter/bin:$PATH"' >> ~/.cshrc
显示 tsch 命令
$ echo 'setenv PATH "$HOME/development/flutter/bin:$PATH"' >> ~/.tcshrc
显示 ksh 命令
$ echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.profile
显示 sh 命令
$ echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.profile
-
要应用此更改,请重新启动所有打开的终端会话。
配置 Android 开发
在 Android Studio 中配置 Android 工具链
要使用 Flutter 创建 Android 应用,请验证是否已安装以下 Android 组件。
- Android SDK 平台,API 34.0.0
- Android SDK 命令行工具
- Android SDK 构建工具
- Android SDK 平台工具
- Android 模拟器
如果您尚未安装这些工具,或者您不确定,请继续执行以下步骤。
否则,您可以跳至 下一部分。
-
启动Android Studio。
将显示欢迎使用 Android Studio对话框。
-
按照Android Studio 设置向导进行操作。
-
安装以下组件
- Android SDK 平台,API 34.0.0
- Android SDK 命令行工具
- Android SDK 构建工具
- Android SDK 平台工具
- Android 模拟器
-
启动Android Studio。
-
转至设置对话框以查看SDK 管理器。
-
如果您已打开项目,请转至工具 > SDK 管理器。
-
如果显示欢迎使用 Android Studio对话框,请单击打开按钮后面的更多选项图标,然后从下拉菜单中单击SDK 管理器。
-
-
单击SDK 平台。
-
验证是否已选择Android API 34.0.0。
如果状态列显示有可用更新或未安装
-
选择Android API 34.0.0。
-
单击应用。
-
当显示确认更改对话框时,单击确定。
将显示SDK 快速修复安装对话框,其中包含完成进度条。
-
安装完成后,单击完成。
在您安装最新 SDK 后,状态列可能会显示有可用更新。这意味着可能尚未安装一些其他系统映像。您可以忽略此提示并继续。
-
-
单击SDK 工具。
-
验证是否已选择以下 SDK 工具
- Android SDK 命令行工具
- Android SDK 构建工具
- Android SDK 平台工具
- Android 模拟器
-
如果任何上述工具的状态列显示有可用更新或未安装
-
选择所需的工具。
-
单击应用。
-
当显示确认更改对话框时,单击确定。
将显示SDK 快速修复安装对话框,其中包含完成进度条。
-
安装完成后,单击完成。
-
配置您的目标 Android 设备
设置 Android 模拟器
要将您的 Flutter 应用配置为在 Android 模拟器中运行,请按照以下步骤创建并选择一个模拟器。
-
在您的开发计算机上启用 VM 加速。
-
启动Android Studio。
-
转至设置对话框以查看SDK 管理器。
-
如果您已打开项目,请转至工具 > 设备管理器。
-
如果显示欢迎使用 Android Studio对话框,请单击打开按钮后面的更多选项图标,然后从下拉菜单中单击设备管理器。
-
-
点击虚拟。
-
点击创建设备。
虚拟设备配置对话框显示。
-
在类别下选择手机或平板电脑。
-
选择设备定义。你可以浏览或搜索设备。
-
点击下一步。
-
点击x86 镜像。
-
点击一个你想要模拟的 Android 版本的系统镜像。
-
如果所需的镜像在版本名称的右侧有一个下载图标,请点击它。
将显示SDK 快速修复安装对话框,其中包含完成进度条。
-
下载完成后,点击完成。
-
-
点击下一步。
虚拟设备配置显示其验证配置步骤。
-
要重命名 Android 虚拟设备 (AVD),请更改AVD 名称框中的值。
-
点击显示高级设置并滚动到模拟性能。
-
从图形下拉菜单中,选择硬件 - GLES 2.0。
这将启用硬件加速并提高渲染性能。
-
验证你的 AVD 配置。如果正确,请点击完成。
要了解有关 AVD 的更多信息,请查看管理 AVD。
-
在设备管理器对话框中,点击你想要的 AVD 右侧的运行图标。模拟器启动并显示你选择的 Android 操作系统版本和设备的默认画布。
设置你的目标 Android 设备
要将你的 Flutter 应用配置为在物理 Android 设备上运行,你需要一台运行 Android API 级别 21 或更高版本的 Android 设备。
-
在你的设备上启用开发者选项和USB 调试,如Android 文档中所述。
-
[可选] 要利用无线调试,请在你的设备上启用无线调试,如Android 文档中所述。
-
将你的设备插入你的 Linux 电脑。如果你的设备提示你,请授权你的电脑访问你的设备。
-
验证 Flutter 是否识别你的已连接 Android 设备。
默认情况下,Flutter 使用你的
adb
工具所在的 Android SDK 版本。要使用 Flutter 的不同 Android SDK 安装路径,请将ANDROID_SDK_ROOT
环境变量设置为该安装目录。
同意 Android 许可证
在使用 Flutter 且安装完所有先决条件后,同意 Android SDK 平台的许可证。
-
打开提升的控制台窗口。
-
运行以下命令以启用签名许可证。
$ flutter doctor --android-licenses
如果你在其他时间接受了 Android Studio 许可证,此命令会返回
[========================================] 100% Computing updates... All SDK package licenses accepted.
你可以跳过下一步。
-
在同意每项许可证的条款之前,请仔细阅读每项许可证。
解决许可问题
如何修复找不到 Java 安装的错误
Android SDK 定位 Java SDK 时,你可能会遇到问题。
$ flutter doctor --android-licenses
ERROR: JAVA_HOME is set to an invalid directory: /Applications/Android\ Studio.app/Contents/jre/Contents/Home
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Android sdkmanager tool was found, but failed to run
(/Users/atsansone/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager): "exited code 1".
Try re-installing or updating your Android SDK,
visit https://flutterdart.cn/docs/get-started/install/macos#android-setup for detailed instructions.
flutter doctor
命令返回此错误,原因是 JAVA_HOME
变量的设置方式。当你将路径添加到 JAVA_HOME
时,可以在 Android
和 Studio
之间的空格添加反斜杠,或用匹配的引号将整个路径括起来。你不能同时执行这两个操作。
在相应的 shell 资源文件中查找 JAVA_HOME
路径。
将其从
export JAVA_HOME="/Applications/Android\ Studio.app/Contents/jre/Contents/Home"
更改为
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home"
不要在 Android
和 Studio
之间包含反斜杠。
要加载此更新的环境变量,请重新加载 shell。此示例使用 zsh
资源文件。
source ~/.zshrc
检查你的开发设置
运行 Flutter doctor
flutter doctor
命令验证 Linux 完整 Flutter 开发环境的所有组件。
-
打开 shell。
-
要验证你对所有组件的安装,请运行以下命令。
$ flutter doctor
由于你选择为 Android 开发,因此你不需要所有组件。如果你按照此指南进行操作,你的命令结果应类似于
Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.3, on Ubuntu 20.04 (LTS), locale en)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[!] Chrome - develop for the web
[✓] Android Studio (version 2023.1 (Hedgehog) or later)
[!] Linux toolchain - develop for Linux desktop
[✓] VS Code (version 1.86)
[✓] Connected device (1 available)
[✓] Network resources
! Doctor found issues in 2 categories.
解决 Flutter doctor 问题
当 flutter doctor
命令返回错误时,可能是针对 Flutter、VS Code、Android Studio、连接的设备或网络资源。
如果 flutter doctor
命令针对其中任何组件返回错误,请使用详细标志再次运行该命令。
$ flutter doctor -v
检查输出,了解您可能需要安装的其他软件或需要执行的进一步任务。
如果您更改了 Flutter SDK 或其相关组件的配置,请再次运行 flutter doctor
以验证安装。
使用 Flutter 开始开发适用于 Linux 的 Android 应用程序
恭喜!现在您已经安装了所有先决条件和 Flutter SDK,您应该能够开始为 Linux 上的 Android 开发 Flutter 应用程序。
管理您的 Flutter SDK
要了解有关管理您的 Flutter SDK 安装的更多信息,请参阅以下资源。