开始在 macOS 上构建 Flutter Android 应用
系统要求
#在安装和运行 Flutter 前,你的 macOS 环境必须满足以下要求:
硬件要求
#你的 macOS Flutter 开发环境必须满足以下最低硬件要求。
4 | 8 | |
8 | 16 | |
WXGA (1366 x 768) | FHD (1920 x 1080) | |
44.0 | 70.0 |
软件要求
#要为 Android 编写和编译 Flutter 代码,请安装以下软件包。
操作系统
#Flutter 支持在 macOS 11 (Big Sur) 或更高版本上开发。本指南假定你的 Mac 默认运行 zsh
shell。
如果需要验证 shell 的配置,请点击展开此部分
macOS 与大多数「类 UNIX」操作系统一样,
macOS 可以支持多种 shell,如 bash
、zsh
和 sh
。从 2019 年 10 月发布的 macOS Catalina (macOS 10.15) 开始,
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。
如果你的 Mac 是 Apple silicon 处理器,那么有些 Flutter 组件就需要通过 Rosetta 2 来转换适配(详情)。要在 Apple silicon 处理器上运行所有 Flutter 组件,请运行以下指令来安装 Rosetta 2。
sudo softwareupdate --install-rosetta --agree-to-license
开发工具
#下载并安装以下软件包。
- Android Studio 2023.3.1 (Jellyfish) or later to debug and compile Java or Kotlin code for Android. Flutter requires the full version of Android Studio.
Android Studio 2023.3.1 (Jellyfish) 或更高版本来调试和编译 Android 的 Java 或 Kotlin 代码。 Flutter 需要完整版本的 Android Studio。
- Git 2.27 或更高版本来管理源代码。To check if you have
git
installed, typegit version
in your Terminal. If you need to installgit
, typebrew install git
.
如果需要检查是否安装了 git
,请在终端中输入 git version
。如果需要安装 git
,请输入 brew install git
。
上述软件的开发商为这些产品提供支持。如果需要排除安装的问题,请查阅该产品的文档。
当你在当前版本运行 flutter doctor
的时候,它可能会列出这些软件包的其他不同版本。如果出现这种情况,请安装它推荐的版本。
文本编辑器或集成开发环境 (IDE)
#你可以使用任意文本编辑器或集成开发环境 (IDE),并结合 Flutter 的命令行工具,来使用 Flutter 构建应用程序。
使用带有 Flutter 扩展或插件的 IDE 会提供代码自动补全、语法高亮、widget 编写辅助、调试以及其他功能。
以下是热门的扩展插件:
-
Visual Studio Code 1.77 或更高版本使用 Flutter extension for VS Code。
-
Android Studio 2023.3.1 (Jellyfish) 或更高版本使用 Flutter plugin for IntelliJ。
-
IntelliJ IDEA 2023.3 或更高版本使用 Flutter plugin for IntelliJ 和 Android plugin for IntelliJ。
安装 Flutter SDK
#你可以使用 VS Code Flutter 扩展或自行下载安装 Flutter 压缩包,来安装 Flutter SDK。
使用 VS Code 安装 Flutter
#在使用以下流程来安装 Flutter 前,请确保你已经安装 Visual Studio Code 1.77 或更高版本,以及 Flutter extension for VS Code。
根据 VS Code 的提示,安装 Flutter
#-
启动 VS Code。
-
打开 命令面板 (Command Palette),按下快捷键 Command + Shift + P。
-
在 命令面板 (Command Palette) 中输入
flutter
。 -
选择 Flutter: New Project。
-
VS Code 会提示你在计算机上找到 Flutter SDK。
-
如果你已经安装 Flutter SDK,请单击 Locate SDK。
-
如果你没有安装 Flutter SDK, 请单击 Download SDK。
如果你没有按照 开发工具的必要条件 安装 Git ,单击该按钮后会导航至 Flutter 安装页面。
-
-
当提示 Which Flutter template? 的时候,请忽略它。可以按下 Esc。你可以在检查完开发配置后创建初始测试项目。
下载 Flutter SDK
#-
当对话框 Select Folder for Flutter SDK 显示时,选择你想要安装 Flutter 的位置。
VS Code 会打开你默认的位置。你可以选择其他位置。
请考虑
~/development/
这样的位置 -
单击 Clone Flutter。
在下载 Flutter 时,VS Code 会弹出该通知:
Downloading the Flutter SDK. This may take a few minutes.
下载需要一些时间。如果你怀疑下载被挂起,请单击 Cancel 取消下载后,再重新尝试安装。
-
Flutter 一旦完成下载, 输出 (Output) 面板就会显示。
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.
初始化时,输出 (Output) 面板会显示下面的内容:
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 的通知。
如果你同意,请单击 OK。
-
在所有 Terminal 窗口中启用
flutter
:-
关闭,然后重新打开所有 Terminal 窗口。
-
重新启动 VS Code。
-
下载并安装 Flutter
#从归档列表中下载 Flutter SDK 压缩包,将压缩包移动到你想要的位置,然后解压 SDK,以此来安装 Flutter。
-
下载以下 Flutter SDK 最新 stable 版本的压缩包。
Intel 处理器 Apple Silicon 处理器 (loading...) (loading...) 关于其他发布渠道和旧版本,请查阅 Flutter SDK 归档列表。
Flutter SDK 应该会下载至 macOS 默认下载目录:
~/Downloads/
。 -
创建一个文件夹,用于安装 Flutter。
可以考虑在
~/development/
中创建一个目录。 -
将 Flutter SDK 压缩文件 (zip) 解压到你想要存储的目录中。可以使用以下指令进行解压。
unzip ~/Downloads/flutter_sdk_v1.0.0.zip \ -d ~/development/
完成后,Flutter SDK 应该会位于
~/development/flutter
目录中。
将 Flutter 添加至 PATH
#
要在 Terminal 中运行 Flutter 命令,请将 Flutter 添加到 PATH
环境变量中。本指南假定你的 Mac 运行的是最新的默认 shell,zsh
。
Zsh 使用 .zshenv
文件来处理 环境变量。
-
启动你喜欢的文本编辑器。
-
如果
~/.zshenv
文件存在,请在文本编辑器中打开 Zsh 环境变量文件~/.zshenv
。如果不存在,请创建~/.zshenv
。 -
复制以下内容并粘贴到
~/.zshenv
文件内的末尾。bashexport PATH=$HOME/development/flutter/bin:$PATH
-
保存
~/.zshenv
文件。 -
请重新启动所有打开的终端会话窗口,来应用此更改。
如果你使用其他 shell,请查阅 设置 PATH 的教程。
配置 Android 开发
#在 Android Studio 中配置 Android toolchain
#To create Android apps with Flutter, verify that the following Android components have been installed.
- Android SDK Platform, API 35.0.1
- Android SDK Command-line Tools
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Android Emulator
If you haven't installed these, or you don't know, continue with the following procedure.
Otherwise, you can skip to the next section.
-
启动 Android Studio。
显示 Welcome to Android Studio 的对话框。
-
按照 Android Studio Setup Wizard 操作。
-
安装以下组件:
- Android SDK Platform, API 35.0.1
- Android SDK Command-line Tools
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Android Emulator
-
启动 Android Studio。
-
打开 Settings 对话框,查看 SDK Manager。
-
如果你已经打开了一个项目,请打开 Tools > SDK Manager。
-
如果显示 Welcome to Android Studio 的对话框,请单击 Open 按钮后面的 More Options 图标,然后从下拉菜单中单击 SDK Manager。
-
-
单击 SDK Platforms。
-
检查 Android API 35.0.1 是否已经选中。
如果 Status 栏显示 Update available 或 Not installed:
-
选择 Android API 35.0.1
-
单击 Apply。
-
当显示 Confirm Change 对话框时,单击 OK。
显示 SDK Quickfix Installation 完成进度的对话框。
-
安装完成后,单击 Finish。
安装最新的 SDK 后, Status 栏可能会显示 Update available。这意味着某些额外的系统镜像可能尚未安装。你可以忽略它然后继续。
-
-
单击 SDK Tools。
-
检查以下 SDK 工具是否已经选择:
- Android SDK Command-line Tools
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Android Emulator
-
如果上述任何工具的 Status 栏显示 Update available 或 Not installed:
-
选择所需的工具。
-
单击 Apply。
-
当显示 Confirm Change 的对话框时,单击 OK。
显示 SDK Quickfix Installation 完成进度的对话框。
-
安装完成后,单击 Finish。
-
配置目标 Android 设备
#配置安卓模拟器
#要配置 Flutter 应用在 Android 模拟器中运行,请按照以下步骤创建并选择模拟器:
-
在你的开发电脑上启用 VM acceleration。
-
启动 Android Studio。
-
打开 Settings 对话框,查看 SDK Manager。
-
如果你已经打开了一个项目,请打开 Tools > Device Manager。
-
如果显示 Welcome to Android Studio 的对话框,请单击 Open 按钮后面的 More Options 图标,然后在下拉菜单中单击 Device Manager。
-
-
单击 Virtual。
-
单击 Create Device。
显示 Virtual Device Configuration 的对话框。
-
在 Category 下选择 Phone 或 Tablet。
-
选择设备,你可以浏览或搜索设备。
-
单击 Next。
-
Click x86 Images(Intel CPU 的 Mac)或者 ARM Images(Apple CPU 的 Mac).
单击 x86 Images(Intel CPU 的 Mac)或者 ARM Images(Apple CPU 的 Mac)。
-
单击需要模拟的 Android 版本系统镜像。
-
如果所需镜像的 Release Name 右侧有一个 Download 图标,请单击该图标。
显示 SDK Quickfix Installation 完成进度的对话框
-
下载完成后,单击 Finish。
-
-
单击 Next。
Virtual Device Configuration 会显示它的 Verify Configuation 步骤。
-
如果要重命名 Android 虚拟设备 (AVD),请更改 AVD Name 框中的值。
-
单击 Show Advanced Settings 并滚动至 Emulated Performance。
-
从 Graphics 下拉菜单中,选择 Hardware - GLES 2.0。
这样就会开启 硬件加速 (hardware acceleration) 并提高渲染性能。
-
检查你的 AVD 配置。如果已经完备,请单击 Finish。
想要了解更多有关 AVD 的信息,请查阅 Managing AVDs。
-
在 Device Manager 对话框中,单击所需 AVD 右侧的 Run 图标。模拟器启动并显示所选 Android 操作系统的版本和设备默认的画布。
配置目标 Android 设备
#你需要一台运行 Android API level 21 或更高版本的安卓设备,来配置 Flutter 应用在真机 Android 设备上运行。
-
按照 Android 文档 中的说明,在设备上启用 开发者选项 和 USB 调试。
-
[可选] 如果要利用无线调试,请按照 Android 文档 中的说明在设备上启用 无线调试。
-
将设备插入你的 macOS 电脑。如果设备发出提示,请授权电脑访问你的设备。
-
检查 Flutter 是否能识别连接的 Android 设备。
在 Terminal 中运行:
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://flutter.dev/to/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
指令将检查 macOS 完整的
Flutter 开发环境的所有组件。
-
Open 你的 Terminal.
打开你的 Terminal。
-
要检查所有组件的安装情况,请运行以下指令。
flutter doctor
由于你选择为 Android 进行开发,因此不需要 所有 组件。如果你遵循本指南,指令结果应该类似于:
Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.5, on macOS 14.4.0 23E214 darwin-arm64, locale en)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1)
[!] Chrome - develop for the web
[!] Xcode - develop for iOS and macOS (Xcode not installed)
[✓] Android Studio (version 2024.2)
[✓] VS Code (version 1.95)
[✓] Connected device (1 available)
[✓] Network resources
! Doctor found issues in 2 categories.
解决 Flutter doctor 的问题
#当 flutter doctor
指令返回错误时,可能是 Flutter、VS Code、Android Studio、连接的设备或者网络资源出错。
如果 flutter doctor
指令返回这些组件中的任何一个错误,请使用 verbose 标志再次运行。
flutter doctor -v
查看输出结果,了解可能需要安装的其他软件或者需要执行的其他任务。
如果你更改了 Flutter SDK 或其他相关组件的配置,请 再次运行 flutter doctor
来检查安装。
开始使用 Flutter 开发 Android on macOS 应用
#恭喜你。 在安装完成所有必要条件和 Flutter SDK 后,你就可以开始开发适用于 Android on macOS 的 Flutter 应用了。
如果你要继续学习之旅,请参考以下指南:
管理 Flutter SDK
#想要了解管理 Flutter SDK 安装的更多信息,请查阅以下内容。
除非另有说明,本文档之所提及适用于 Flutter 的最新稳定版本,本页面最后更新时间: 2024-11-02。 查看文档源码 或者 为本页面内容提出建议。