为 Android 导出
参见
这个页面描述的是如何将 Godot 项目导出到 Android。如果你想要找的是从源码编译编辑器或导出模板二进制文件,请阅读 为 Android 平台编译。
导出Android的要求比编译Android的Godot要少. 下面的步骤详细介绍了设置Android SDK和引擎所需的内容.
注意
Godot 4.2 中,使用 C# 编写的项目可以导出到 Android,但这种支持是实验性的,存在某些限制。
安装 OpenJDK 17
下载并安装 OpenJDK 17。
下载 Android SDK
下载并安装 Android SDK.
You can install the Android SDK using Android Studio Hedgehog (version 2023.1.1) or later.
运行一次,使用这些说明完成 SDK 设置。
Ensure that the required packages are installed as well.
Android SDK Platform-Tools version 34.0.0 or later
Android SDK Build-Tools version 34.0.0
Android SDK Platform 34
Android SDK Command-line Tools(最新)
CMake 版本 3.10.2.4988404
NDK 版本 r23c(23.2.8568313)
Alternatively, you can install the Android SDK with the sdkmanager command line tool.
Install the command line tools package using these instructions.
Once the command line tools are installed, run the following sdkmanager command to complete the setup process:
sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;34.0.0" "platforms;android-34" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313"
备注
如果你使用的是 Linux,请勿使用发行版软件库提供的 Android SDK,因为它通常是过时的。
在 Godot 中进行设置
进入编辑器设置屏幕。此屏幕包含计算机中用户帐户的编辑器设置(与项目无关)。
向下滚动到 Android 设置所在的部分:
在该屏幕中,需要设置两个路径:
Java SDK Path
should be the location where OpenJDK 17 was installed.Android Sdk Path
should be the location where the Android SDK was installed. - For example%LOCALAPPDATA%\Android\Sdk\
on Windows or/Users/$USER/Library/Android/sdk/
on macOS.
配置完成后, 导出到Android的一切都准备好了!
备注
如果你遇到 “Could not install to device” 的错误,请确认设备上未安装使用了相同Android包名(但使用不同密钥进行签名)的应用。
如果设备上安装了 Android 包名相同但签名密钥不同的应用,你必须先在该 Android 设备询问时选择删除该应用,但后再重新导出到 Android。
提供启动器图标
启动器图标是 Android 启动器应用把你的应用展示给用户时所用到的。Godot 只需要高分辨率图标(适用于 xxxhdpi
屏幕),会自动生成低分辨率的变体。
Godot 需要两种类型的图标:
主图标:“经典”图标。这会在所有 Android 版本不高于 Android 8(Oreo)中使用。必须至少为 192×192 px。
自适应图标:从 Android 8 开始(含)引入了自适应图标(Adaptive Icons)。应用为了有原生的样式需要包含分离的背景与前景图标。用户的启动程序会控制图标的动画和遮罩。必须至少为 432×432 px。
参见
重要的是设计自适应图标时必须遵守一些规则。Google Design 提供了一篇不错的文章来帮助理解这些规则以及自适应图标的一些技巧。
小心
自适应图标最重要的规则是,要把图标的重要元素放置在安全区内:那是一个居中的直径为 66dp(xxxhdpi
上为 264 像素)的圆,这样就可以避免被启动器裁剪。
如果你不提供必要的图标,Godot 会根据回退链来进行替换,当前行失败时会尝试下一行:
主图标:提供的主图标 -> 项目图标 -> 默认 Godot 主图标。
自适应图标前景:提供的前景图标 -> 提供的主图标 -> 项目图标 -> 默认 Godot 前景图标。
自适应图标背景:提供的背景图标 -> 默认 Godot 背景图标。
强烈建议提供所有要求的图标的指定分辨率。这样一来,你的应用程序在所有的 Android 设备和版本上都会显得非常漂亮。
为 Google Play 商店导出
将 APK 上传到 Google 的 Play 商店,需要你使用非调试密钥库文件进行签名;这样的文件可以像这样生成:
keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000
This keystore and key are used to verify your developer identity, remember the password and keep it in a safe place! It is suggested to use only upper and lowercase letters and numbers. Special characters may cause errors. Use Google’s Android Developer guides to learn more about APK signing.
现在,在你的 Android 导出预设中填写以下表格:
发布:输入你刚刚生成的密钥库文件的路径。
发布用户:替换为密钥别名。
发布密码:密钥密码。请注意,密钥库密码和密钥密码当前必须相同。
在导出时,不要忘记取消勾选使用调试导出。
优化 APK 大小
默认情况下,APK将包含适用于ARMv7和ARMv8体系结构的本地库. 这会大大增加其大小. 要创建较小的APK, 请在项目的Android导出预设中取消选中 Armeabi-v 7a 或 Arm 64 -v 8a . 这将创建一个仅包含单个架构库的APK. 请注意, 针对ARMv7的应用程序也可以在ARMv8设备上运行, 但事实并非如此.
自2019年8月起,Google Play要求所有应用程序都必须以64位格式提供. 这意味着你不能上传 仅 包含ARMv7库的APK. 为了解决这个问题, 你可以使用其 多个APK 支持 将多个APK上传到Google Play. 每个APK都应针对单一架构;为ARMv7和ARMv8创建APK通常足以覆盖当今使用的大多数设备.
你可以通过仅编译具有所需功能的Android导出模板来进一步优化大小. 有关更多信息, 请参见 为尺寸优化构建.
环境变量
你可以使用以下环境变量在编辑器外部设置导出选项。在导出过程中,这些值会覆盖你在导出菜单中设置的值。
导出选项 | 环境变量 |
---|---|
加密 / 密钥 |
|
选项 / 密钥库 / 调试 |
|
选项 / 密钥库 / 调试用户 |
|
选项 / 密钥库 / 调试密码 |
|
选项 / 密钥库 / 发布 |
|
选项 / 密钥库 / 发布用户 |
|
选项 / 密钥库 / 发布密码 |
|