在 macOS 上开始构建 Flutter Android 应用

验证系统要求

要安装和运行 Flutter,macOS 环境必须满足以下硬件和软件要求。

硬件要求

macOS Flutter 开发环境必须满足以下最低硬件要求。

要求 最低 推荐
CPU 内核 4 8
内存(GB) 8 16
显示分辨率(像素) WXGA (1366 x 768) FHD (1920 x 1080)
可用磁盘空间(GB) 44.0 70.0

软件要求

要为 Android 编写和编译 Flutter 代码,请安装以下软件包。

操作系统

Flutter 支持 macOS 10.15 (Catalina) 或更高版本。本指南假定你的 Mac 将 zsh 作为默认 shell 运行。

要验证 shell 配置,请展开此部分

与大多数类 UNIX 操作系统类似,macOS 可以支持多个 shell,例如 bashzshsh。自 macOS Catalina (macOS 10.15) 于 2019 年 10 月发布以来,Zsh 或 zsh 已成为 macOS 的默认 shell。

检查并设置 zsh 为默认

  1. 要验证 zsh 是否已设置为 macOS 默认 shell,请运行 目录服务命令行实用程序

     $ dscl . -read ~/ UserShell
    

    应打印以下内容作为其响应。

     UserShell: /bin/zsh
    

    您可以跳过剩余的步骤。

  2. 如果您需要安装 zsh,请按照 此 Wiki 中的过程进行操作。

  3. 如果您需要将默认 shell 更改为 zsh,请运行 chsh 命令。

     $ chsh -s `which zsh`
    

要了解有关 macOS 和 zsh 的更多信息,请查看 macOS 文档中的 在 Mac 上将 zsh 用作默认 shell

某些 Flutter 组件需要在运行 Apple 芯片 的 Mac 上进行 Rosetta 2 翻译流程。要在 Apple 芯片上运行所有 Flutter 组件,请安装 Rosetta 2

$ sudo softwareupdate --install-rosetta --agree-to-license

开发工具

下载并安装以下软件包。

  • Android Studio 2023.1 (Hedgehog),用于调试和编译 Android 的 Java 或 Kotlin 代码。Flutter 需要 Android Studio 的完整版本。

  • Git 2.27 或更高版本,用于管理源代码。要检查是否已安装 git,请在终端中键入 git version。如果您需要安装 git,请键入 brew install git

上述软件的开发人员为这些产品提供支持。要解决安装问题,请查阅该产品的文档。

当您运行当前版本的 flutter doctor 时,它可能会列出其中一个软件包的不同版本。如果出现这种情况,请安装它推荐的版本。

文本编辑器或集成开发环境

您可以使用任何文本编辑器或集成开发环境 (IDE) 结合 Flutter 的命令行工具来构建 Flutter 应用。

使用带有 Flutter 扩展或插件的 IDE 可提供代码自动完成、语法高亮、小部件编辑辅助、调试和其他功能。

常用的选项包括

安装 Flutter SDK

要安装 Flutter SDK,你可以使用 VS Code Flutter 扩展,也可以自己下载并安装 Flutter 捆绑包。

使用 VS Code 安装 Flutter

要使用这些说明安装 Flutter,请验证你已安装 Visual Studio Code 1.77 或更高版本,以及 适用于 VS Code 的 Flutter 扩展

提示 VS Code 安装 Flutter

  1. 启动 VS Code。

  2. 要打开命令面板,请按 Command + Shift + P

  3. 命令面板中,键入 flutter

  4. 选择Flutter:新建项目

  5. VS Code 会提示你找到计算机上的 Flutter SDK。

    1. 如果你已安装 Flutter SDK,请单击找到 SDK

    2. 如果你尚未安装 Flutter SDK,请单击下载 SDK

      如果你未按照 开发工具先决条件 中的说明安装 Git,此选项会将你转到 Flutter 安装页面。

  6. 当系统提示哪个 Flutter 模板?时,请忽略它。按 Esc。你可以在检查开发设置后创建一个测试项目。

下载 Flutter SDK

  1. 为 Flutter SDK 选择文件夹对话框显示时,选择你想安装 Flutter 的位置。

    VS Code 会将你置于用户配置文件中以开始。选择其他位置。

    考虑 ~/development/

  2. 单击克隆 Flutter

    在下载 Flutter 时,VS Code 会显示此弹出通知

    Downloading the Flutter SDK. This may take a few minutes.
    

    下载需要几分钟。如果您怀疑下载已挂起,请单击取消,然后重新开始安装。

  3. 下载 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?
    
  4. VS Code 可能会显示 Google Analytics 通知。

    如果您同意,请单击确定

  5. 要在所有终端窗口中启用 flutter

    1. 关闭所有终端窗口,然后重新打开。
    2. 重新启动 VS Code。

下载并安装 Flutter

要安装 Flutter,请从其存档下载 Flutter SDK 捆绑包,将捆绑包移动到您希望存储的位置,然后解压 SDK。

  1. 下载以下安装捆绑包以获取 Flutter SDK 的最新稳定版本。

    英特尔处理器   Apple 芯片
    (正在加载…)   (正在加载…)

    对于其他发布渠道和较旧版本,请查看 SDK 存档

    Flutter SDK 应下载到 macOS 默认下载目录:~/Downloads/

  2. 创建一个可以安装 Flutter 的文件夹。

    考虑在 ~/development/ 中创建一个目录。

  3. 将 zip 文件解压到您希望存储 Flutter SDK 的目录中。

    $ unzip ~/Downloads/flutter_sdk_v1.0.0.zip -d ~/development/
    

    完成后,Flutter SDK 应位于 ~/development/flutter 目录中。

将 Flutter 添加到您的 PATH

要在终端中运行 Flutter 命令,请将 Flutter 添加到 PATH 环境变量。本指南假设您的 Mac 运行最新的默认 shellzsh。Zsh 使用 .zshenv 文件进行 环境变量

  1. 启动您首选的文本编辑器。

  2. 如果存在,请在文本编辑器中打开 Zsh 环境变量文件 ~/.zshenv。如果不存在,请创建 ~/.zshenv

  3. 复制以下行并将其粘贴到 ~/.zshenv 文件末尾。

    export PATH=$HOME/development/flutter/bin:$PATH
    
  4. 保存 ~/.zshenv 文件。

  5. 要应用此更改,请重新启动所有打开的终端会话。

如果您使用其他 shell,请查看 有关设置 PATH 的本教程

配置 Android 开发

在 Android Studio 中配置 Android 工具链

help 帮助

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

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

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

否则,您可以跳至 下一部分

  1. 启动 Android Studio

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

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

  3. 安装以下组件

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

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

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

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

  3. 单击 SDK 平台

  4. 验证是否已选择 Android API 34.0.0

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

    1. 选择 Android API 34.0.0

    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. 如果您的 Mac 在 Intel CPU 上运行,请单击x86 映像;如果您的 Mac 在 Apple CPU 上运行,请单击ARM 映像

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

    1. 如果所需映像在版本名称右侧带有下载图标,请单击该图标。

      将显示带有完成进度条的 SDK 快速修复安装 对话框。

    2. 下载完成后,单击完成

  11. 单击下一步

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

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

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

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

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

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

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

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

设置目标 Android 设备

help 帮助

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

  1. 按照Android 文档中的说明,在设备上启用开发者选项USB 调试

  2. [可选] 要利用无线调试,请按照Android 文档中的说明,在设备上启用无线调试

  3. 将设备插入 macOS 电脑。如果设备提示您,请授权电脑访问您的设备。

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

    在终端中运行

    $ flutter devices
    

    默认情况下,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/docs/get-started/install/macos#android-setup for detailed instructions.

flutter doctor命令返回此错误,原因是JAVA_HOME变量的设置方式。当您将路径添加到JAVA_HOME时,您可以在AndroidStudio之间的空格处添加反斜杠,或用匹配的引号将整个路径括起来。您不能同时执行这两项操作。

在适当的 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"

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

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

source ~/.zshrc

检查您的开发设置

help 帮助

运行 Flutter doctor

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

  1. 打开您的终端。

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

    $ flutter doctor
    

由于您选择为 Android 开发,因此您不需要所有组件。如果您遵循本指南,您的命令结果应类似于

Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.3, on macOS 14.4.0 23E214 darwin-arm64, locale en)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[!] Chrome - develop for the web
[!] Xcode - develop for iOS and macOS (Xcode not installed)
[✓] Android Studio (version 2023.1 (Hedgehog) or later)
[✓] 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 开始在 macOS 上开发 Android 应用

恭喜!现在您已安装所有先决条件和 Flutter SDK,您应该能够在 macOS 上为 Android 开发 Flutter 应用。

管理您的 Flutter SDK

要了解有关管理您的 Flutter SDK 安装的更多信息,请参阅以下资源。