Back to Blog
·Summer Team

将 Godot 4 游戏导出到 Android(2026 完整教程)

用正确的方式将 Godot 4 游戏导出到 Android:安装构建模板,为 Godot 配置 JDK 和 Android SDK,创建密钥库,修复常见错误,最终打包发布签名的 APK 或 AAB。

将 Godot 4 游戏导出到 Android 并不难,但几乎所有人第一次都会在同一个地方踩坑:三个相互依赖的软件版本不一致。一旦你理解了这三个软件是什么,并让它们对齐,导出本身只需要点几下鼠标。

本教程完整覆盖从成品游戏到可安装在手机上或上传至 Google Play 的签名文件的全过程。默认你已经有一个想要发布的游戏。如果你还在制作游戏,Summer Engine 可以生成与 Godot 4 兼容的真实项目,这意味着下面的导出步骤同样完全适用于 Summer 项目,就像手写的 Godot 项目一样。免费版支持导出,没有水印也没有分成。

绝大多数首次导出失败的根本原因

Godot 的 Android 导出依赖三个关键点的一致性:

  1. 你的 Godot 编辑器版本(例如 4.5.1)
  2. 你安装的导出模板(必须是完全相同的版本)
  3. Godot 用于构建 Android 包的 JDK(Godot 4.x 需要 JDK 17)

如果你的编辑器是 4.5.1,却安装了 4.5 的模板,或者将 Godot 指向 JDK 21 而非 17,导出要么会变灰,要么抛出晦涩的 Gradle 错误,要么生成无法安装的 APK。在做其他任何事情之前,先解决这三点,就能跳过大多数人都会碰到的麻烦。

操作顺序很重要:先安装模板和工具链,再配置导出,最后构建。

第一步:安装匹配的导出模板

在 Godot 中打开你的项目,进入编辑器 -> 管理导出模板。如果面板显示没有安装模板,点击下载并安装,Godot 会自动获取与当前编辑器版本完全匹配的模板。

很多人跳过这一步,因为导出菜单看起来应该直接能用,但实际上不行。模板是随你的游戏一起打包的平台专属运行时,没有 Android 模板,预设就无从构建。如果你使用的是 Godot 的 Beta 或候选版本,可能需要手动下载模板文件,然后通过从文件安装来完成,因为自动下载只支持正式稳定版。

第二步:安装 JDK 和 Android SDK

Godot 不自带 Android 工具链,你需要在机器上安装一次,Godot 会在所有项目中复用它。

你需要两样东西:

  • JDK,版本 17。 当前 Godot 的 Android Gradle 构建明确需要 JDK 17,更高版本(如 21)往往会失败。Temurin(Eclipse Adoptium)是可靠的免费发行版。
  • Android SDK 命令行工具。 最简单的方式是安装 Android Studio,它自带 SDK、平台工具和构建工具。如果不想安装完整的 IDE,也可以只安装命令行工具,但对于第一次导出,Android Studio 是阻力最小的路径。

安装完成后,记下两个文件夹路径:JDK 的安装位置和 Android SDK 的安装位置,下一步需要把它们填入 Godot。

{/* IMAGE: Android Studio SDK Manager showing installed platform-tools and build-tools, with the SDK location path highlighted. Screenshot, 1200x675. */}

第三步:在 Godot 中指定工具链路径

回到 Godot,进入编辑器 -> 编辑器设置,在左侧边栏找到导出 -> Android 部分。

填写:

  • Java SDK 路径(即 JDK 路径):第二步中的 JDK 17 文件夹
  • Android SDK 路径:第二步中的 SDK 文件夹

Godot 会在你输入时即时验证这些路径。如果路径有误,会立刻显示红色警告,现在修复比等到导出失败时再调试要容易得多。

这个配置是全局的,针对整个 Godot 安装而非单个项目,因此每台机器只需配置一次。

第四步:创建 Android 导出预设

现在来配置导出本身。进入项目 -> 导出,点击添加,选择 Android

你可能会在预设顶部看到一个红色错误图标,这在此阶段是正常的,它告诉你还缺少什么。将鼠标悬停在上面查看提示信息,通常指向构建模板或密钥库,这些在接下来处理。

在预设选项中,首次构建最重要的几个设置:

  • 唯一名称(包标识符,例如 com.yourstudio.yourgame)。这个标识符在 Play 商店必须唯一,即使是测试阶段也请使用真实的反向域名格式。
  • 渲染器。在现代手机上使用移动端渲染器,或使用兼容性渲染器以获得更广泛的设备支持,包括旧设备。在「项目设置 -> 渲染」中设置,这是游戏在编辑器中运行正常但在手机上显示黑屏的最常见原因。
  • 架构。保留 arm64-v8a 即可,它覆盖了几乎所有现代 Android 设备。除非你专门针对非常老旧的手机,否则可以禁用 armeabi-v7a。

第五步:安装 Android 构建模板

在 Android 预设中有一个按钮:安装 Android 构建模板,点击它。

这会将一个 Gradle 项目复制到你的游戏文件夹中(即 android/build 目录)。Godot 使用它来实际组装安装包。自定义构建、后续添加插件都需要它,Google Play 所需的 AAB 格式也依赖它。

如果这一步出错,几乎都是第三步中的 JDK 或 SDK 路径有问题,或者 Gradle 下载被防火墙拦截。查看 Godot 窗口底部的输出面板,真正的错误信息在那里,而不在弹窗里。

第六步:配置签名(密钥库)

Android 不允许安装未签名的应用,因此即使是测试版本也需要密钥库,分两种情况处理。

在自己设备上测试(调试密钥库):

Godot 可以使用自动生成的调试密钥库。在编辑器 -> 编辑器设置 -> 导出 -> Android 中有调试密钥库、用户名和密码的字段,Godot 可以帮你创建调试密钥库,标准调试凭据是公开的(密钥库用户名为 androiddebugkey)。用于在自己管理的设备上安装完全够用,但切勿将调试签名的版本公开发布。

发布版本(使用自己的密钥库):

准备分发时,需要生成发布密钥库。可以在终端中使用 JDK 自带的 keytool 命令完成:

keytool -genkey -v -keystore release.keystore -alias mygame -keyalg RSA -keysize 2048 -validity 10000

它会要求你输入密码和一些身份信息。然后在 Android 导出预设中展开密钥库部分,填入发布密钥库路径、别名和密码。

重要提示:请将这个密钥库文件及其密码备份到安全的地方。 如果你用这个密钥库发布了 Google Play 应用,之后又丢失了它,将永远无法以同一身份为该应用发布更新。这是移动端开发中真正无法恢复的错误,请像对待密码一样保管这个文件。

第七步:导出

安装好构建模板并完成签名配置后,预设上的红色错误应该已经消失。现在选择输出格式:

  • 导出项目时使用 .apk 文件名,得到单个可安装文件。将它复制到手机上点击安装(可能需要允许安装未知来源的应用),或通过 USB 安装。适用于测试和 itch.io 等非商店渠道的分发。
  • 导出项目时使用 .aab 文件名,得到用于 Google Play 商店的 Android App Bundle,Google Play 要求新应用使用 AAB 格式。

快速在设备上测试的最便捷方式是一键部署:用 USB 连接手机并开启 USB 调试,Godot 编辑器右上角会出现一个小 Android 图标,点击它,Godot 会自动构建、安装并启动游戏,同时附加远程调试器,让你实时查看错误信息。

{/* IMAGE: Godot editor toolbar showing the one-click Android deploy button (small Android robot icon) lit up with a connected device. Screenshot, 800x400. */}

常见错误及其实际含义

  • 预设出现红色错误「未找到导出模板」: 第一步,模板版本与编辑器版本不匹配,重新为精确版本安装模板。
  • 「没有有效的 Java SDK」或「未找到 JDK」: 第三步的路径有误,或安装的不是 JDK 17,安装 JDK 17 后重新指定路径。
  • Gradle 构建失败并输出长串堆栈跟踪: 查看 Godot 输出面板而非弹窗。最常见原因是 JDK 版本不匹配、网络下载被拦截,或包名包含无效字符(使用小写反向域名,标识符中不能有空格或连字符)。
  • 安装后启动显示黑屏: 渲染器与设备不兼容(切换为移动端或兼容性渲染器),或纹理对移动端 GPU 来说过大。通过 USB 连接并开启远程调试运行游戏,查看 Android 日志。
  • 手机上提示「未安装应用」: 通常是签名问题,或设备上已安装了使用不同签名的同包名应用,先卸载旧版本再试。
  • 游戏运行但控制无响应: 你的输入映射依赖键盘,移动端需要触控输入,下文会介绍相关内容。

导出解决不了的问题:让游戏适配手指操作

导出本身是机械性的操作,移动端更难的问题在于:为键鼠设计的游戏在触屏上根本无法玩,而任何导出设置都解决不了这个问题。你需要:

  • 屏幕触控操作。 根据游戏类型,添加虚拟摇杆、点击触发按钮或手势输入。
  • 适配多种屏幕比例的缩放方案。 手机屏幕从细长到宽屏平板各有不同,设置合适的拉伸模式(canvas_items,保持比例),确保 UI 不被裁剪或偏移。
  • 更大的点击区域。 为鼠标光标设计的按钮对大拇指来说太小了。

这正是 AI 原生工作流能真正节省时间的地方。在 Summer 中,你用自然语言描述需求,例如「添加一个移动用的虚拟摇杆和一个右下角的射击按钮,并让 HUD 适配屏幕尺寸」,它就会直接编辑实际项目。由于输出是与 Godot 4 兼容的标准项目,所添加的触控操作都是普通的 Godot 节点,你可以直接打开并手动调整。可以从模板库中选择一个适合移动端的项目作为起点进行改造。

如果你从头开始制作游戏,如何用 AI 制作游戏 介绍了整个构建流程,如何用 AI 制作 2D 游戏 则从头到尾深入讲解了一个小型项目。两者生成的项目都完全适用于上述导出步骤。

关于费用,坦率地说

本教程中的所有内容都是免费的。Godot 工具链(编辑器、模板、JDK、SDK)均免费。在 Summer 上构建和导出 Android APK 或 AAB 属于免费版功能,没有水印也没有分成;只有在更大项目中需要更多 AI 用量时才需要付费,具体限额可在定价页面查看。唯一你无法控制的费用是 Google Play 开发者账号的一次性 25 美元注册费,且仅在你想上架 Play 商店时才需要。将 APK 旁加载到自己手机上,或在 itch.io 上分发,都是免费的。

Android 之后:发布的其余工作

签名后的 Android 构建只是一个平台。如果你同时要发布到桌面端,在 Steam 发布你的游戏 介绍了 Steam 那边的流程,有它自己的无签名但需要缴费的发布方式。好消息是,与 Godot 4 兼容的项目可以从同一个「项目 -> 导出」菜单导出到 Windows、macOS、Linux、Web 和 Android,完成 Android 导出后,其他平台只需换一个预设,流程完全相同。

将三个版本对齐,安装构建模板,签名构建,你的游戏就能在真机上运行了。想从创意出发得到可导出的项目而无需自己写样板代码,可以在 AI 游戏制作工具 中开始,或从下载页面获取桌面应用。

Frequently asked questions

为什么我的 Godot Android 导出选项显示为灰色或出现红色错误?

Android 预设上出现红点,几乎都意味着以下三种情况之一:没有为当前 Godot 版本安装对应的导出模板、「编辑器设置」中的 JDK 或 Android SDK 路径有误、或者没有设置密钥库。将鼠标悬停在红色图标上,Godot 会告诉你具体是哪个问题。从上到下逐一排查修复即可。Godot 4.x 请使用 JDK 17,并确保导出模板版本与编辑器版本完全一致,而不仅仅是大版本相同。

APK 和 AAB 有什么区别,我应该选哪个?

APK 是单个可安装文件,可以直接安装到手机上用于测试,或在商店之外分发。AAB(Android App Bundle)是 Google Play 新应用所要求的格式,Google 会在服务端将其拆分为针对不同设备的安装包。在自己设备上测试时使用调试 APK,准备提交 Play 商店时再构建发布版 AAB。itch.io 和直接下载链接都接受 APK 格式。

在手机上测试游戏需要 Google Play 开发者账号吗?

不需要。要在自己的 Android 设备上安装游戏,只需要一个调试 APK 并开启 USB 调试即可(或者将 APK 复制到设备上点击安装)。只有当你想在 Play 商店发布时,才需要支付一次性的 25 美元开发者账号费用。在支付任何费用之前,你完全可以免费在真机上构建、签名并运行游戏。

Summer Engine 能导出到 Android 吗?是免费的吗?

Summer 生成的是与 Godot 4 兼容的标准项目,因此 Android 导出流程与本教程完全相同,免费版即可构建和导出,没有水印也没有分成。Summer 对首次移动端构建中最容易出问题的环节很有帮助:触控操作、不同屏幕比例的缩放适配,以及将键鼠操作的原型改造为触屏交互。JDK、SDK 和密钥库仍需要在你的机器上单独安装一次,因为这些工具不属于任何引擎的范畴。

游戏在编辑器中运行正常,但在 Android 上崩溃或显示黑屏,是什么原因?

常见原因包括:设备不支持所选渲染器、纹理对移动端 GPU 来说过大、或者输入方式依赖键盘。在「项目设置」中将渲染器改为「移动端」(旧机型可选「兼容性」),将纹理保持在 2048 以内的 2 的幂次方尺寸,并将键盘输入替换为触屏操作。通过 USB 连接设备并开启远程调试运行游戏,这样你可以直接查看 Android 日志,而不是凭空猜测。

测试版本也需要对 Android 游戏签名吗?

是的。Android 拒绝安装未签名的应用,所以即使是调试版本也需要密钥库。Godot 可以自动生成调试密钥库,并在「编辑器设置」中指定路径,用于在自己设备上测试完全够用。对于任何要分发的版本,包括 Play 商店和公开下载链接,你必须创建自己的发布密钥库并妥善备份,因为一旦丢失,该应用将永远无法以同一身份发布更新。