在 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,例如 bash
、zsh
和 sh
。自 macOS Catalina (macOS 10.15) 于 2019 年 10 月发布以来,Zsh 或 zsh
已成为 macOS 的默认 shell。
检查并设置 zsh
为默认
-
要验证
zsh
是否已设置为 macOS 默认 shell,请运行 目录服务命令行实用程序。$ dscl . -read ~/ UserShell
应打印以下内容作为其响应。
UserShell: /bin/zsh
您可以跳过剩余的步骤。
-
如果您需要安装
zsh
,请按照 此 Wiki 中的过程进行操作。 -
如果您需要将默认 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 可提供代码自动完成、语法高亮、小部件编辑辅助、调试和其他功能。
常用的选项包括
- Visual Studio Code 1.77 或更高版本,带有 适用于 VS Code 的 Flutter 扩展。
- Android Studio 2023.1(Hedgehog)或更高版本,带有 适用于 IntelliJ 的 Flutter 插件。
- IntelliJ IDEA 2023.1 或更高版本,同时带有 适用于 IntelliJ 的 Flutter 插件 和 适用于 IntelliJ 的 Android 插件。
安装 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。
-
要打开命令面板,请按 Command + 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 的最新稳定版本。
英特尔处理器 Apple 芯片 (正在加载…) (正在加载…) 对于其他发布渠道和较旧版本,请查看 SDK 存档。
Flutter SDK 应下载到 macOS 默认下载目录:
~/Downloads/
。 -
创建一个可以安装 Flutter 的文件夹。
考虑在
~/development/
中创建一个目录。 -
将 zip 文件解压到您希望存储 Flutter SDK 的目录中。
$ unzip ~/Downloads/flutter_sdk_v1.0.0.zip -d ~/development/
完成后,Flutter SDK 应位于
~/development/flutter
目录中。
将 Flutter 添加到您的 PATH
要在终端中运行 Flutter 命令,请将 Flutter 添加到 PATH
环境变量。本指南假设您的 Mac 运行最新的默认 shell,zsh
。Zsh 使用 .zshenv
文件进行 环境变量。
-
启动您首选的文本编辑器。
-
如果存在,请在文本编辑器中打开 Zsh 环境变量文件
~/.zshenv
。如果不存在,请创建~/.zshenv
。 -
复制以下行并将其粘贴到
~/.zshenv
文件末尾。export PATH=$HOME/development/flutter/bin:$PATH
-
保存
~/.zshenv
文件。 -
要应用此更改,请重新启动所有打开的终端会话。
如果您使用其他 shell,请查看 有关设置 PATH 的本教程。
配置 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对话框,请单击打开按钮后显示的更多选项图标,然后从下拉菜单中单击设备管理器。
-
-
单击虚拟。
-
单击创建设备。
显示虚拟设备配置对话框。
-
在类别下选择手机或平板电脑。
-
选择设备定义。您可以浏览或搜索设备。
-
单击下一步。
-
如果您的 Mac 在 Intel CPU 上运行,请单击x86 映像;如果您的 Mac 在 Apple CPU 上运行,请单击ARM 映像。
-
为要模拟的 Android 版本单击一个系统映像。
-
如果所需映像在版本名称右侧带有下载图标,请单击该图标。
将显示带有完成进度条的 SDK 快速修复安装 对话框。
-
下载完成后,单击完成。
-
-
单击下一步。
虚拟设备配置显示其验证配置步骤。
-
若要重命名 Android 虚拟设备 (AVD),请更改AVD 名称框中的值。
-
单击显示高级设置并滚动到模拟性能。
-
从图形下拉菜单中,选择硬件 - GLES 2.0。
这将启用硬件加速并提高渲染性能。
-
验证您的 AVD 配置。如果正确,请单击完成。
要详细了解 AVD,请查看管理 AVD。
-
在设备管理器对话框中,点击所需 AVD 右侧的运行图标。模拟器启动并显示所选 Android 操作系统版本和设备的默认画布。
设置目标 Android 设备
要将 Flutter 应用配置为在物理 Android 设备上运行,您需要一台运行 Android API 21 或更高版本的 Android 设备。
-
按照Android 文档中的说明,在设备上启用开发者选项和USB 调试。
-
[可选] 要利用无线调试,请按照Android 文档中的说明,在设备上启用无线调试。
-
将设备插入 macOS 电脑。如果设备提示您,请授权电脑访问您的设备。
-
验证 Flutter 是否识别出您连接的 Android 设备。
在终端中运行
$ flutter devices
默认情况下,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://fluttercn.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
命令验证 macOS 的完整 Flutter 开发环境的所有组件。
-
打开您的终端。
-
要验证您对所有组件的安装,请运行以下命令。
$ 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 安装的更多信息,请参阅以下资源。