为Android导出
导出Android的要求比编译Android的Godot要少.下面的步骤详细介绍了设置Android SDK和引擎所需的内容.

下载Android SDK
下载并安装 Android SDK.

你可以使用 Android Studio 4.1或更高版本<https://developer.android.com/studio/>__ 进行安装.

运行一次,使用这些 说明<https://developer.android.com/studio/intro/update#sdk-manager>__ 完成SDK设置.

确保 必要的软件包<https://developer.android.com/studio/intro/update#recommended>__ 也被安装.

Android SDK平台工具30.0.5或更高版本

Android SDK Build-Tools version 30.0.3

Android SDK 平台工具 29

Android SDK命令行工具 (最新)

CMake 版本 3.10.2.4988404

NDK 版本 21.4.7075529

你可以使用 命令行工具<https://developer.android.com/studio/#command-tools>__ 来安装它.

命令行工具安装完成后,运行 sdkmanager 命令以完成安装过程:
sdkmanager --sdk_root=<android_sdk_path> “platform-tools” “build-tools;30.0.3” “platforms;android-29” “cmdline-tools;latest” “cmake;3.10.2.4988404” “ndk;21.4.7075529”
注解

如果你使用的是Linux, 不要使用你的发行版软件库提供的Android SDK,因为它通常是过时的 .

安装OpenJDK 8
下载并安装 OpenJDK 8 .

创建一个debug.keystore
Android需要调试密钥库文件,才能安装到设备并分发非发布版本APK。如果您以前使用过SDK并且已经构建了项目,那么ant或eclipse可能会为您生成一个(在Linux和macOS上,您可以在 〜/ .android 目录中找到它)。

如果找不到或需要生成一个,则可以使用JDK中的keytool命令:

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 -deststoretype pkcs12

这会在当前目录中创建一个 debug.keystore 文件.你需要移动到一个难忘的位置,比如 %USERPROFILE%.android\ ,因为后续步骤会需要这个位置. keytool 用法的更多信息请查看 这个 Q&A 文章 .

在Godot中设置它
进入编辑器设置屏幕.此屏幕包含计算机中用户帐户的编辑器设置(独立于项目).

…/…/…/_images/editorsettings.png

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

…/…/…/_images/androidsdk.png

在该屏幕中,需要设置两个路径:

Android Sdk Path 设置为Android SDK的安装位置.例如,Windows上的 %LOCALAPPDATA%\Android\Sdk\ ,或macOS上的 /Users/$USER/Library/Android/sdk/ .

debug .keystore文件 - 可以在之前创建debug.keystore 文件的文件夹中找到.

配置完成后,导出到Android的一切都准备好了!

提供启动器图标
启动图标是Android启动器应用把你的应用展示给用户时用到的.Godot只需要高分辨率图标(适用于xxxhdpi屏幕),然后自动生成低分辨率变体.

Godot需要两种类型的图标:

Main Icon: “经典” 图标.这会在所有Android版本不高于 Android 8 (Oreo)中使用.必须至少 192×192 px.

Adaptive Icons: 从 Android 8 (包括)开始, Adaptive Icons 被引入.应用为了有原生的样式需要包含分离的背景与前景图标.用户的启动程序会控制图标的动画和遮罩.必须至少432×432 px.

参见

重要的是设计自适应图标时必须遵守一些规则.Google Design 提供了一篇文章 <https://medium.com/google-design/designing-adaptive-icons-515af294c783>_ 来帮助理解这些规则以及自适应图标的一些技巧.

警告

最重要的自适应图标规则是,把图标的重要元素放置在安全区:一个直径为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
此密钥库和密钥用于验证您的开发人员身份,记住密码并将其保存在安全的地方!使用Google的Android开发者指南来了解有关 APK签名 的更多信息.

现在,在您的Android导出预设中填写以下表格:

…/…/…/_images/editor-export-presets-android.png

发布: 输入您刚刚生成的密钥库文件的路径.

发布用户: 替换为密钥别名.

发布密码: 密钥密码. 请注意,密钥库密码和密钥密码当前必须相同.

您的export_presets.cfg文件现在包含敏感信息. 如果使用版本控制系统,则应将其从公共存储库中删除,并将其添加到 .gitignore 文件或等效文件中.

Don’t forget to uncheck the Export With Debug checkbox while exporting.

…/…/…/_images/export-with-debug-button.png

优化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导出模板来进一步优化大小.有关更多信息,请参见 为尺寸优化构建.

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐