跳至主要内容

从 Linux 上的 Web 端开始,将 Android 添加为 Flutter 的目标平台

要将 Android 添加为 Linux 上的 Flutter 应用目标平台,请按照以下步骤操作。

安装 Android Studio

#
  1. 为 Android Studio 分配至少 7.5 GB 的存储空间。建议分配 10 GB 的存储空间以获得最佳配置。

  2. 安装以下 Android Studio 的先决条件软件包

    sudo apt-get install libc6:amd64 libstdc++6:amd64 lib32z1 libbz2-1.0:amd64
  3. 安装 Android Studio 2023.3.1(Jellyfish)或更高版本以调试和编译 Android 的 Java 或 Kotlin 代码。Flutter 需要完整版本的 Android Studio。

配置 Android 开发环境

#

在 Android Studio 中配置 Android 工具链

#

help 帮助

要使用 Flutter 创建 Android 应用,请验证以下 Android 组件是否已安装。

  • Android SDK 平台,API 35.0.1
  • Android SDK 命令行工具
  • Android SDK 构建工具
  • Android SDK 平台工具
  • Android 模拟器

如果您尚未安装这些组件,或者您不确定,请继续执行以下步骤。

否则,您可以跳到 下一节

  1. 启动**Android Studio**。

    将显示**欢迎使用 Android Studio** 对话框。

  2. 按照**Android Studio 设置向导**操作。

  3. 安装以下组件

    • Android SDK 平台,API 35.0.1
    • Android SDK 命令行工具
    • Android SDK 构建工具
    • Android SDK 平台工具
    • Android 模拟器
  1. 启动**Android Studio**。

  2. 转到**设置**对话框以查看**SDK 管理器**。

    1. 如果已打开项目,请转到**工具** > **SDK 管理器**。

    2. 如果显示**欢迎使用 Android Studio** 对话框,请点击**打开**按钮后的**更多选项**图标,然后从下拉菜单中点击**SDK 管理器**。

  3. 点击**SDK 平台**。

  4. 验证是否已选择**Android API 35.0.1**。

    如果**状态**列显示**有更新可用**或**未安装**

    1. 选择**Android API 35.0.1**。

    2. 点击**应用**。

    3. 当显示**确认更改**对话框时,点击**确定**。

      将显示**SDK 快速修复安装**对话框,其中包含完成进度条。

    4. 安装完成后,点击**完成**。

      安装最新 SDK 后,**状态**列可能会显示**有更新可用**。这意味着某些其他系统映像可能尚未安装。您可以忽略此信息并继续。

  5. 点击**SDK 工具**。

  6. 验证以下 SDK 工具是否已选中

    • Android SDK 命令行工具
    • Android SDK 构建工具
    • Android SDK 平台工具
    • Android 模拟器
  7. 如果前面列出的任何工具的**状态**列显示**有更新可用**或**未安装**

    1. 选择所需的工具。

    2. 点击**应用**。

    3. 当显示**确认更改**对话框时,点击**确定**。

      将显示**SDK 快速修复安装**对话框,其中包含完成进度条。

    4. 安装完成后,点击**完成**。

配置目标 Android 设备

#

设置 Android 模拟器

#

help 帮助

要配置 Flutter 应用以在 Android 模拟器中运行,请按照以下步骤创建并选择模拟器。

  1. 在您的开发计算机上启用 虚拟机加速

  2. 启动**Android Studio**。

  3. 转到**设置**对话框以查看**SDK 管理器**。

    1. 如果已打开项目,请转到**工具** > **设备管理器**。

    2. 如果显示**欢迎使用 Android Studio** 对话框,请点击**打开**按钮后的**更多选项**图标,然后从下拉菜单中点击**设备管理器**。

  4. 点击**虚拟**。

  5. 点击**创建设备**。

    将显示**虚拟设备配置**对话框。

  6. 在**类别**下选择**手机**或**平板电脑**。

  7. 选择设备定义。您可以浏览或搜索设备。

  8. 点击**下一步**。

  9. 点击**x86 映像**。

  10. 点击您要模拟的 Android 版本的一个系统映像。

    1. 如果所需的映像在**发行版名称**右侧有一个**下载**图标,请点击它。

      将显示**SDK 快速修复安装**对话框,其中包含完成进度条。

    2. 下载完成后,点击**完成**。

  11. 点击**下一步**。

    **虚拟设备配置**显示其**验证配置**步骤。

  12. 要重命名 Android 虚拟设备 (AVD),请更改**AVD 名称**框中的值。

  13. 点击**显示高级设置**并滚动到**模拟性能**。

  14. 从**图形**下拉菜单中选择**硬件 - GLES 2.0**。

    这将启用 硬件加速 并提高渲染性能。

  15. 验证您的 AVD 配置。如果正确,请点击**完成**。

    要详细了解 AVD,请查看 管理 AVD

  16. 在**设备管理器**对话框中,点击所需 AVD 右侧的**运行**图标。模拟器将启动并显示所选 Android OS 版本和设备的默认画布。

设置目标 Android 设备

#

help 帮助

要配置 Flutter 应用以在物理 Android 设备上运行,您需要一台运行 Android API 级别 21 或更高版本的 Android 设备。

  1. 在您的设备上启用**开发者选项**和**USB 调试**,如 Android 文档 中所述。

  2. [可选] 要利用无线调试,请在您的设备上启用**无线调试**,如 Android 文档 中所述。

  3. 将您的设备插入 Linux 计算机。如果您的设备提示您,请授权您的计算机访问您的设备。

  4. 验证 Flutter 是否识别您连接的 Android 设备。

    默认情况下,Flutter 使用 adb 工具所在的 Android SDK 版本。要使用 Flutter 使用不同的 Android SDK 安装路径,请将 ANDROID_SDK_ROOT 环境变量设置为该安装目录。

同意 Android 许可协议

#

help 帮助

在使用 Flutter 之前以及安装所有先决条件之后,请同意 Android SDK 平台的许可协议。

  1. 打开一个提升权限的控制台窗口。

  2. 运行以下命令以启用签名许可证。

    flutter doctor --android-licenses

    如果您在其他时间接受了 Android Studio 许可证,则此命令将返回

    [========================================] 100% Computing updates...
    All SDK package licenses accepted.

    您可以跳过下一步。

  3. 在同意每个许可证的条款之前,请仔细阅读每个条款。

解决许可证问题

#
如何修复查找 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/to/macos-android-setup for detailed instructions.

由于 JAVA_HOME 变量的设置方式,flutter doctor 命令会返回此错误。当您添加路径到 JAVA_HOME 时,可以在 AndroidStudio 之间的空格处添加反斜杠,或者将整个路径括在匹配的引号中。您不能同时执行两者

在相应的 shell 资源文件中查找您的 JAVA_HOME 路径。

将其从

bash
export JAVA_HOME="/Applications/Android\ Studio.app/Contents/jre/Contents/Home"

更改为

bash
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home"

不要在 AndroidStudio 之间包含反斜杠。

要加载此更新的环境变量,请重新加载 shell。此示例使用 zsh 资源文件。

source ~/.zshrc

检查开发环境设置

#

help 帮助

运行 Flutter doctor

#

flutter doctor 命令验证 Linux 上完整 Flutter 开发环境的所有组件。

  1. 打开一个 shell。

  2. 要验证所有组件的安装,请运行以下命令。

    flutter doctor

由于您选择开发 Android,因此您不需要所有组件。如果您按照本指南操作,则命令的结果应类似于

Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.5, on Ubuntu 20.04 (LTS), locale en)
[✓] VS Code (version 1.95)
[✓] Connected device (1 available)
[✓] Network resources


! Doctor found issues in  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 应用了。

要继续您的学习之旅,请查阅以下指南