在 macOS 上开始构建 Flutter Android 应用
软件要求
#要在 Android 上编写和编译 Flutter 代码,请安装以下软件包。
操作系统
#Flutter 支持在 macOS 12 (Monterey) 或更高版本上开发。本指南假定您的 Mac 运行 zsh
作为您的 默认 Shell。
某些 Flutter 组件需要 Rosetta 2 翻译过程。如果您在 Apple 芯片 (ARM) Mac 上进行开发,请安装 Rosetta 2
sudo softwareupdate --install-rosetta --agree-to-license
开发工具
#下载并安装以下软件包。
- Android Studio,用于调试和编译 Android 上的 Java 或 Kotlin 代码。Flutter 需要完整版的 Android Studio。
- Git,用于管理 Flutter 版本和您自己的源代码版本控制。要检查是否已安装
git
,请在终端中输入git version
。如果您需要安装git
,请运行xcode-select --install
。
上述软件的开发者提供这些产品的支持。要解决安装问题,请查阅该产品的文档。
文本编辑器或集成开发环境
#你可以使用任何文本编辑器或集成开发环境 (IDE) 结合 Flutter 的命令行工具来构建应用。
使用带有 Flutter 扩展或插件的 IDE 可提供代码补全、语法高亮、小部件编辑辅助、调试及其他功能。
流行的选项包括
- 安装 Visual Studio Code 并安装 VS Code 的 Flutter 扩展。
- 安装 Android Studio 并安装 IntelliJ 的 Flutter 插件。
- IntelliJ IDEA,并安装 适用于 IntelliJ 的 Flutter 插件 和 适用于 IntelliJ 的 Android 插件。
安装 Flutter SDK
#要安装 Flutter SDK,你可以使用 VS Code Flutter 扩展,或自行下载并安装 Flutter 包。
使用 VS Code 安装 Flutter
#要按照这些说明安装 Flutter,请验证您是否已安装 Visual Studio Code 和 适用于 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.
Initializing the Flutter SDK. This may take a few minutes.
下载和安装需要几分钟。如果你怀疑下载已卡住,请点击取消,然后重新开始安装。
Flutter 安装成功后,VS Code 会显示此弹窗通知:
Do you want to add the Flutter SDK to PATH so it's accessible in external terminals?
点击添加 SDK 到 PATH。
成功时,会显示通知
The Flutter SDK was added to your PATH
VS Code 可能会显示 Google Analytics 通知。
如果你同意,点击确定。
在所有终端窗口中启用
flutter
- 关闭,然后重新打开所有终端窗口。
- 重新启动 VS Code。
下载然后安装 Flutter
#要安装 Flutter,请从其存档下载 Flutter SDK 包,将该包移动到你希望存储的位置,然后解压 SDK。
下载以下安装包以获取 Flutter SDK 的最新稳定版本。
对于其他发布渠道和旧版本,请查阅 SDK 存档。
Flutter SDK 应下载到 macOS 默认下载目录:
~/Downloads/
。创建一个你可以安装 Flutter 的文件夹。
考虑在
~/development/
创建一个目录。将文件解压到你希望存储 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
文件末尾。bashexport PATH=$HOME/development/flutter/bin:$PATH
保存您的
~/.zshenv
文件。要应用此更改,请重新启动所有打开的终端会话。
如果您使用其他 Shell,请查阅此关于设置 PATH 的教程。
配置 Android 开发环境
#在 Android Studio 中配置 Android 工具链
#要使用 Flutter 创建 Android 应用,请验证是否已安装以下 Android 组件。
- Android SDK 平台,API 35
- Android SDK 命令行工具
- Android SDK 构建工具
- Android SDK 平台工具
- Android 模拟器
如果你尚未安装这些组件,或不确定是否已安装,请继续执行以下步骤。
否则,你可以跳到下一部分。
启动 Android Studio。
将显示欢迎使用 Android Studio 对话框。
按照Android Studio 设置向导的指示操作。
安装以下组件
- Android SDK 平台,API 35
- Android SDK 命令行工具
- Android SDK 构建工具
- Android SDK 平台工具
- Android 模拟器
启动 Android Studio。
转到设置对话框以查看 SDK 管理器。
如果您已打开项目,请转到工具 > SDK 管理器。
如果显示欢迎使用 Android Studio 对话框,请点击打开按钮旁边的更多选项图标,然后从下拉菜单中点击SDK 管理器。
点击SDK 平台。
验证是否已选择 Android API 35。
如果“状态”列显示“有可用更新”或“未安装”
选择 Android API 35。
点击“应用”。
当“确认更改”对话框显示时,点击“确定”。
将显示带进度条的SDK 快速修复安装对话框。
安装完成后,点击完成。
安装最新 SDK 后,状态列可能显示有可用更新。这表示可能未安装某些额外的系统映像。你可以忽略此提示并继续。
点击SDK 工具。
验证是否已选择以下 SDK 工具
- Android SDK 命令行工具
- Android SDK 构建工具
- Android SDK 平台工具
- Android 模拟器
如果上述任何工具的“状态”列显示“有可用更新”或“未安装”
选择所需的工具。
点击“应用”。
当“确认更改”对话框显示时,点击“确定”。
将显示带进度条的SDK 快速修复安装对话框。
安装完成后,点击完成。
配置你的目标 Android 设备
#设置 Android 模拟器
#要配置 Flutter 应用以在 Android 模拟器中运行,请按照以下步骤创建并选择一个模拟器。
在您的开发计算机上启用 VM 加速。
启动 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 版本。
按照Android 文档中的说明,在你的设备上启用开发者选项和USB 调试。
[可选] 要利用无线调试,请按照Android 文档中的说明,在你的设备上启用无线调试。
将您的设备插入 macOS 电脑。如果您的设备提示您,请授权您的电脑访问您的设备。
验证 Flutter 是否识别你连接的 Android 设备。
在终端中,运行
flutter devices
默认情况下,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://flutterdart.cn/to/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 开发,因此你不需要所有组件。如果你按照本指南操作,该命令应为你设置的工具和平台输出 [✓]
。
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 安装的信息,请查阅以下资源: