# 把游戏移植到 Android

> Android 的测试门槛最低，设备跨度最大。真正卡住发行的是签名密钥和目标 API 级别。

- URL: https://www.summerengine.com/zh/port-a-game-to-android
- Keyword: 移植游戏到 Android
- Related: https://www.summerengine.com/zh/porting

把游戏移植到 Android，意思是为一款你拥有的游戏构建签名后的 Android 版本并分发它，通常通过 Google Play。你做出构建的当天就能装到自己手机上，没有审核队列。

摩擦在别处。Google Play 要求应用包、当前的目标 API 级别、64 位二进制、数据安全声明和隐私政策。签名密钥必须在首次发行前创建并备份。而从旗舰到入门机的设备跨度，意味着只在一台高端手机上测试说明不了什么。

Summer Engine 目前导出桌面版本，Android 版本需要 Android SDK、用于签名的密钥库，还要针对触控输入做一轮适配。C++ 和 GDScript 都能迁移过来，C# 可在桌面编辑器中使用，不过在 Godot 4 工作流中，C# 在 Android 上仍属实验性。项目归你，无需向 Summer 支付版税。

## Google Play 强制的要求

在 Play 上分发要上传 Android App Bundle，而不是 APK。满足当前的最低目标 API 级别，它每年都会提高，并且对更新和新应用同样适用。发布 64 位的 arm64 二进制。如实填完数据安全表单，为敏感权限给出理由并声明，提供隐私政策网址，并完成内容分级问卷。较新的个人开发者账号在开放正式发布权限前，可能需要一段封闭测试。

## 丢不起的密钥

生成一个上传密钥库，记下密码和别名，并把文件离线备份。加入 Play 应用签名，让谷歌管理分发密钥。如果你在 Play 之外分发 APK 并丢了那把密钥，已安装的用户就永远无法更新。包名也要谨慎设定，因为它在整个上架周期里是永久的。这两个决定现在只花几分钟，之后却无法挽回。

## 输入与系统行为

把鼠标键盘换成为拇指设计的触摸手势，而不是屏幕上的一个手柄。处理系统返回手势，让它关闭菜单，并且只在顶层退出。围绕屏幕挖孔锚定 UI，并支持从 4:3 到 20:9 的比例。失焦时暂停并保存。支持高刷新率屏幕，并提供一个省电用的帧率上限。测试时把手机装在保护壳里单手玩，因为它实际就会被这么玩。

## 跨设备范围的测试

挑两台参考设备：一台接近你目标受众的下限，一台是当前机型。每周在两台上都测。使用压缩贴图，把绘制调用压低，并测量几分钟之后的持续帧率以捕捉降频。盯住安装体积，因为下载越大转化下降越明显。Android 的分发渠道也比 iOS 多，包括直接下载 APK、itch.io 和第三方商店，这些对内测很有用。

## FAQ

### 在 Google Play 上发行要花多少钱？

一次性 25 美元的开发者注册费，再加上谷歌对销售和应用内购买的分成。Summer Engine 不收任何分成。

### 分发安卓游戏一定要用 Google Play 吗？

不一定。签名后的 APK 可以直接分发、放在 itch.io，或通过第三方商店发布。Play 触达的受众最大，要求也最多。

### 我的发行为什么被拦下了？

常见原因是目标 API 级别低于当前下限、缺少 64 位二进制、数据安全表单没填完，或者隐私政策网址打不开。

### 签名密钥丢了会怎样？

用 Play 应用签名的话，你可以申请重置上传密钥。在 Play 之外，丢了签名密钥就意味着已安装的用户无法更新，玩家必须重新安装一个新的上架条目。

### Android 上能用 C# 吗？

C# 可在桌面编辑器中使用，但在 Godot 4 工作流中，C# 在 Android 上仍属实验性。Android 上的玩法代码用 GDScript 或 C++ 更稳妥。

[开始重建](https://www.summerengine.com/zh/download)

---

## Machine-readable resources

- Site index for agents: https://www.summerengine.com/llms.txt
- Full inlined content: https://www.summerengine.com/llms-full.txt
- Porting catalog: https://www.summerengine.com/llms-porting.txt
- Structured catalog: https://www.summerengine.com/agent-catalog.json
- Sitemap: https://www.summerengine.com/sitemap.xml
- Developer resources: https://www.summerengine.com/docs
- Summer API (assets from any agent or code; public per-call model prices): https://docs.summerengine.com/api