从 Linux 开始添加 Android devtools for Flutter
若要将 Android 添加为 Linux 的 Flutter 应用目标,请按照此过程操作。
安装 Android Studio
-
为 Android Studio 分配至少 7.5 GB 的存储空间。考虑分配 10 GB 的存储空间以获得最佳配置。
-
为 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 的完整版本。
配置 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 模拟器中运行,请按照以下步骤创建并选择一个模拟器。
-
在你的开发计算机上启用虚拟机加速。
-
启动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 设备。
-
按照Android 文档中的说明在你的设备上启用开发者选项和USB 调试。
-
[可选] 要利用无线调试,请按照 Android 文档 中所述在您的设备上启用无线调试。
-
将您的设备插入 Linux 电脑。如果您的设备提示您,请授权您的电脑访问您的设备。
-
验证 Flutter 是否识别出您连接的 Android 设备。
默认情况下,Flutter 使用
adb
工具所在的 Android SDK 版本。要将不同的 Android SDK 安装路径与 Flutter 一起使用,请将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://fluttercn.cn/docs/get-started/install/macos#android-setup for detailed instructions.
由于 JAVA_HOME
变量的设置方式,flutter doctor
命令返回此错误。当您将路径添加到 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 1 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 应用。