Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
为 Android 导出
参见
这个页面描述的是如何将 Godot 项目导出到 Android。如果你想要找的是从源码编译编辑器或导出模板二进制文件,请阅读 为 Android 平台编译。
导出Android的要求比编译Android的Godot要少. 下面的步骤详细介绍了设置Android SDK和引擎所需的内容.
注意
Godot 4.2 中,使用 C# 编写的项目可以导出到 Android,但这种支持是实验性的,存在某些限制。
安装 OpenJDK 17
Download and install OpenJDK 17.
备注
Higher versions of the JDK are also supported, but we recommend using JDK 17 for optimal compatibility and stability.
下载 Android SDK
下载并安装 Android SDK.
You can install the Android SDK using Android Studio Iguana (version 2023.2.1) or later.
运行一次,使用这些说明完成 SDK 设置。
确保安装了必要的软件包。
Android SDK Platform-Tools version 35.0.0 or later
Android SDK Build-Tools version 35.0.0
Android SDK Platform 35
Android SDK Command-line Tools(最新)
Ensure that the NDK and CMake are installed and configured.
CMake 版本 3.10.2.4988404
NDK version r28b (28.1.13356709)
或者你也可以使用sdkmanager命令行工具来安装 Android SDK。
使用以下说明完成命令行工具安装。
命令行工具安装完成后, 运行 sdkmanager 命令以完成安装过程:
sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;35.0.0" "platforms;android-35" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;28.1.13356709"
备注
如果你使用的是 Linux,请勿使用发行版软件库提供的 Android SDK,因为它通常是过时的。
在 Godot 中进行设置
进入编辑器设置屏幕(在 macOS 平台上位于 Godot选项卡下,在其他平台上位于编辑器选项卡下)。此屏幕包含计算机中用户帐户的编辑器设置(与这独立于此项目)。

向下滚动到 Android 设置所在的部分:

在该屏幕中,需要设置两个路径:
Java SDK Path
应当为 OpenJDK 17 的安装位置。Android Sdk Path
设置为Android SDK的安装位置. 例如,Windows上的%LOCALAPPDATA%\Android\Sdk\
, 或macOS上的/Users/$USER/Library/Android/sdk/
.
配置完成后, 导出到Android的一切都准备好了!
备注
如果你遇到 “Could not install to device” 的错误,请确认设备上未安装使用了相同Android包名(但使用不同密钥进行签名)的应用。
如果设备上安装了 Android 包名相同但签名密钥不同的应用,你必须先在该 Android 设备询问时选择删除该应用,但后再重新导出到 Android。
提供启动器图标
启动器图标是 Android 启动器应用把你的应用展示给用户时所用到的。Godot 只需要高分辨率图标(适用于 xxxhdpi
屏幕),会自动生成低分辨率的变体。
这里有三种类型的图标:
主图标:“经典”图标。这会在所有 Android 版本不高于 Android 8(Oreo)中使用。必须至少为 192×192 px。
自适应图标:从 Android 8 开始(含)引入了自适应图标(Adaptive Icons)。应用为了有原生的样式需要包含分离的背景与前景图标。用户的启动程序会控制图标的动画和遮罩。必须至少为 432×432 px。
主题图标 (可选):从 Android 13 开始(含)引入了主题图标。应用程序需要包含一个单色图标来启用此特性。用户的启动程序会控制图标的主题。必须至少为 432×432 px。
参见
重要的是设计自适应图标时必须遵守一些规则。Google Design 提供了一篇不错的文章来帮助理解这些规则以及自适应图标的一些技巧。
小心
自适应图标最重要的规则是,要把图标的重要元素放置在安全区内:那是一个居中的直径为 66dp(xxxhdpi
上为 264 像素)的圆,这样就可以避免被启动器裁剪。
若未提供要求的图标(单色图标除外),Godot将按回退链自动替换:当前图标加载失败时,依次尝试链中的下一个候选图标。
主图标:提供的主图标 -> 项目图标 -> 默认 Godot 主图标。
自适应图标前景:提供的前景图标 -> 提供的主图标 -> 项目图标 -> 默认 Godot 前景图标。
自适应图标背景:提供的背景图标 -> 默认 Godot 背景图标。
强烈建议提供所有要求的图标的指定分辨率。这样一来,你的应用程序在所有的 Android 设备和版本上都会显得非常漂亮。
为 Google Play 商店导出
2021 年 8 月之后所有上传至 Google Play 的新应用必须使用 AAB(Android App Bundle)文件。
将AAB或APK上传至Google Play应用商店时,需使用非调试密钥库文件进行签名;该文件可通过如下方式生成:
keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000
这个密钥库和密钥用于验证你的开发人员身份,请记住密码并将其保存在安全的地方!使用 Google 的 Android 开发者指南来了解有关 APK 签名的更多信息。
现在,在你的 Android 导出预设中填写以下表格:

发布:输入你刚刚生成的密钥库文件的路径。
发布用户:替换为密钥别名。
发布密码:密钥密码。请注意,密钥库密码和密钥密码当前必须相同。
在导出时,不要忘记取消勾选使用调试导出。

优化文件大小
If you're working with APKs and not AABs, by default, the APK will contain native libraries for both ARMv7 and ARMv8 architectures. This increases its size significantly. To create a smaller file, uncheck either Armeabi-v 7a or Arm 64 -v 8a in your project's Android export preset. This will create an APK that only contains a library for a single architecture. Note that applications targeting ARMv7 can also run on ARMv8 devices, but the opposite is not true. The reason you don't do this to save space with AABs is that Google automatically splits up the AAB on their backend, so the user only downloads what they need.
你可以通过仅编译具有所需功能的Android导出模板来进一步优化大小. 有关更多信息, 请参见 为尺寸优化构建.
环境变量
你可以使用以下环境变量在编辑器外部设置导出选项。在导出过程中,这些值会覆盖你在导出菜单中设置的值。
导出选项 |
环境变量 |
---|---|
加密 / 密钥 |
|
选项 / 密钥库 / 调试 |
|
选项 / 密钥库 / 调试用户 |
|
选项 / 密钥库 / 调试密码 |
|
选项 / 密钥库 / 发布 |
|
选项 / 密钥库 / 发布用户 |
|
选项 / 密钥库 / 发布密码 |
|
导出选项
You can find a full list of export options available in the EditorExportPlatformAndroid class reference.