为 Android 导出
导出Android的要求比编译Android的Godot要少. 下面的步骤详细介绍了设置Android SDK和引擎所需的内容.
下载Android SDK
下载并安装 Android SDK.
Android Studio 4.1或更高版本 进行安装.
说明 完成SDK设置.
必要的软件包 也被安装.
Android SDK平台工具30.0.5或更高版本
- Android SDK 构建工具版本 30.0.3
- Android SDK 平台工具 29
- Android SDK命令行工具 (最新)
- CMake 版本 3.10.2.4988404
- NDK 版本 21.4.7075529
命令行工具 来安装它.
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"
注解 不要使用你的发行版软件库提供的Android SDK, 因为它通常是过时的 .
安装OpenJDK 11
OpenJDK 11.
创建一个debug.keystore
〜/ .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中设置它
进入编辑器设置屏幕. 此屏幕包含计算机中用户帐户的编辑器设置(独立于项目). 向下滚动到Android设置所在的部分: 在该屏幕中, 需要设置两个路径:
Android Sdk Path设置为Android SDK的安装位置. 例如,Windows上的%LOCALAPPDATA%\Android\Sdk\, 或macOS上的/Users/$USER/Library/Android/sdk/..keystore文件 - 可以在之前创建debug.keystore文件的文件夹中找到. 配置完成后, 导出到Android的一切都准备好了! 注解 “Could not install to device” 的错误,请确认设备上未安装使用了相同Android包名(但使用不同密钥进行签名)的应用。 如果设备上安装了Android包名相同但签名密钥不同的应用,你必须先在该Android设备询问时选择删除该应用,但后再重新导出到Android。提供启动器图标
xxxhdpi屏幕), 然后自动生成低分辨率变体. Godot需要两种类型的图标:- Main Icon: “经典” 图标. 这会在所有Android版本不高于 Android 8 (Oreo)中使用. 必须至少 192×192 px.
- Adaptive Icons: 从 Android 8 (包括)开始, Adaptive Icons 被引入. 应用为了有原生的样式需要包含分离的背景与前景图标. 用户的启动程序会控制图标的动画和遮罩. 必须至少432×432 px.
参见
Google Design 提供了一篇文章 来帮助理解这些规则以及自适应图标的一些技巧.
警告
xxxhdpi上为264像素)居中的圆来避免被启动器裁剪. 如果你不提供必要的图标,Godot会用备用链来替换它们, 当当前行失败时会尝试下一行: - 主图标: 提供主图标 -> 项目图标 -> 默认Godot主图标.
- 自适应图标前景: 提供的前景图标 ->提供的主图标 -> 项目图标 -> 默认 Godot 前景图标.
- 自适应图标背景: 提供的背景图标 -> 默认 Godot 背景图标.
强烈建议提供所有要求的图标的指定分辨率. 这样一来, 你的应用程序在所有的Android设备和版本上都会显得非常漂亮.
为Google Play商店导出
将APK上传到Google的Play商店, 需要您使用非调试密钥库文件进行签名, 这样的文件可以像这样生成:
APK 签名 的更多信息. 现在, 在您的Android导出预设中填写以下表格:keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000
- 发布: 输入您刚刚生成的密钥库文件的路径.
- 发布用户: 替换为密钥别名.
- 发布密码: 密钥密码. 请注意, 密钥库密码和密钥密码当前必须相同.
您的export_presets.cfg文件现在包含敏感信息. 如果使用版本控制系统, 则应将其从公共存储库中删除, 并将其添加到
.gitignore文件或等效文件中. Export With Debug (以调试方式导出) 。优化APK大小
Armeabi-v 7a 或 Arm 64 -v 8a . 这将创建一个仅包含单个架构库的APK. 请注意, 针对ARMv7的应用程序也可以在ARMv8设备上运行, 但事实并非如此. 仅 包含ARMv7库的APK. 为了解决这个问题, 您可以使用其 多个APK 支持 将多个APK上传到Google Play. 每个APK都应针对单一架构;为ARMv7和ARMv8创建APK通常足以覆盖当今使用的大多数设备. 为尺寸优化构建.
