在 Linux 上从 Web 添加 Android devtools 以启动 Flutter
若要将 Android 添加为 Linux 的 Flutter 应用目标,请按照此步骤操作。
安装 Android Studio
-
为 Android Studio 分配至少 7.5 GB 的存储空间。考虑为最佳配置分配 10 GB 的存储空间。
-
为 Android Studio 安装以下先决条件软件包:
libc6:i386
,libncurses5:i386
,libstdc++6:i386
,lib32z1
,libbz2-1.0:i386
$ sudo apt-get install \ libc6:i386 libncurses5:i386 \ libstdc++6:i386 lib32z1 \ libbz2-1.0:i386
-
安装 Android Studio 2023.1 (Hedgehog) 以调试和编译 Android 的 Java 或 Kotlin 代码。Flutter 需要 Android Studio 的完整版本。
配置 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 模拟器中运行,请按照以下步骤创建并选择一个模拟器。
-
在您的开发计算机上启用 VM 加速。
-
启动Android Studio。
-
转到设置对话框以查看SDK 管理器。
-
如果您已打开某个项目,请转到工具 > 设备管理器。
-
如果显示欢迎使用 Android Studio对话框,请单击打开按钮后面的更多选项图标,然后从下拉菜单中单击设备管理器。
-
-
单击虚拟。
-
单击创建设备。
虚拟设备配置对话框显示。
-
在类别下选择手机或平板电脑。
-
选择设备定义。您可以浏览或搜索设备。
-
单击下一步。
-
单击x86 映像。
-
为要模拟的 Android 版本单击一个系统映像。
-
如果所需映像在版本名称右侧有一个下载图标,请单击它。
将显示SDK 快速修复安装对话框,其中包含一个完成进度条。
-
下载完成后,单击完成。
-
-
单击下一步。
虚拟设备配置显示其验证配置步骤。
-
要重命名 Android 虚拟设备 (AVD),请更改AVD 名称框中的值。
-
单击显示高级设置并滚动到模拟性能。
-
从图形下拉菜单中,选择硬件 - GLES 2.0。
这将启用硬件加速并提高渲染性能。
-
验证您的 AVD 配置。如果正确,请单击完成。
要了解有关 AVD 的更多信息,请查看管理 AVD。
-
在设备管理器对话框中,单击所需 AVD 右侧的运行图标。模拟器启动并显示所选 Android 操作系统版本和设备的默认画布。
设置您的目标 Android 设备
要将您的 Flutter 应用配置为在物理 Android 设备上运行,您需要一台运行 Android API 级别 21 或更高版本的 Android 设备。
-
在您的设备上启用开发者选项和USB 调试,如Android 文档中所述。
-
[可选] 要利用无线调试,请在您的设备上启用无线调试,如Android 文档中所述。
-
将您的设备插入您的 Linux 计算机。如果您的设备提示您,请授权您的计算机访问您的设备。
-
验证 Flutter 是否识别到已连接的 Android 设备。
默认情况下,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://fluttercn.cn/docs/get-started/install/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
命令验证 Linux 完整 Flutter 开发环境的所有组件。
-
打开一个 shell。
-
要验证所有组件的安装,请运行以下命令。
$ flutter doctor
由于您选择为 Android 开发,因此您不需要所有组件。如果您遵循本指南,您的命令结果应类似于
Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.3, on Ubuntu 20.04 (LTS), locale en)
[✓] VS Code (version 1.86)
[✓] 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 应用。