# 把 Unity 游戏移植到 Android

> 从 Unity 到 Android 的移植，是一次重建加一次 Play Console 发行。设备分布和签名密钥库造成的延误，比代码更多。

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

把 Unity 游戏移植到 Android，意思是重建一款你拥有的游戏，并发布到 Google Play 或另一个安卓商店。Summer Engine 不读取 Unity 项目文件。

Android 比 iOS 更容易够到，却更难测试。任何人都能在几分钟内构建并侧载一个 APK，Google Play 开发者账号也只需一次性 25 美元。难点在设备跨度：成千上万种芯片、屏幕形状、刷新率和驱动怪癖，从旗舰一直到只有 3 GB 内存的入门机。

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

## 会卡住发行的 Google Play 要求

新应用和更新必须以 Android App Bundle 上传，而不是 APK。Play 强制一个每年都会提高的最低目标 API 级别，所以面向旧 SDK 的构建会被拒。必须支持 64 位的 arm64。你还要填完数据安全表单、声明任何敏感权限、提供隐私政策网址，并完成内容分级问卷。新的个人开发者账号在拿到正式发布权限前，还要满足额外的测试要求。

## 密钥库与应用签名，最容易弄丢的一环

每个 Android 构建都要签名。Play 应用签名持有分发密钥，你自己保管上传密钥。把上传密钥库和它的密码备份到五年后你仍然找得到的地方。上传密钥丢了可以通过 Play 支持重置，但在 Play 之外自行分发的 APK 一旦丢了密钥，你就完全无法给已安装的用户推送更新。这件事要在首次发行之前安排好，而不是之后。

## 输入、屏幕与返回手势

为触摸改造操作，而不是在屏幕上画一个手柄。支持从 4:3 平板到细长 20:9 手机的各种比例，并尊重屏幕挖孔。显式处理系统返回手势，因为安卓用户预期它能关闭菜单并最终退出。在来电和通知导致失焦时暂停并保存。同时支持 60 Hz 和高刷新率屏幕，并在电量成为约束时给帧率设上限。

## 在人们真正拥有的手机上看性能

挑一台接近你目标受众低端的设备，每周在它上面测试。用压缩格式规划贴图预算，把绘制调用压低，并关注五分钟之后的持续帧率，而不是前三十秒，因为热降频对中端手机打击很大。也要量一量 APK 或 AAB 的体积。下载体积对安装转化的影响，比多数开发者预期的更大。

## FAQ

### Summer Engine 能打开 Unity 项目做 Android 版吗？

不能。这里没有 Unity 导入器。你要在 Summer Engine 里重建游戏，并把属于你的贴图、音频、模型和数据搬过来。

### Google Play 开发者账号要多少钱？

一次性 25 美元的注册费。之后谷歌会从销售和应用内购买中抽成。Summer Engine 不收任何分成。

### 我要用 APK 还是 AAB？

Google Play 对新应用和更新要求使用 Android App Bundle。如果是直接下载、itch.io 或在 Play 之外侧载，APK 仍然没问题。

### C# 在 Android 上能用吗？

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

### 以后能把同一份重建发到 iOS 吗？

能。这次 Android 重建可以作为 iOS 版本的基础，在上面再叠加平台专有的输入和商店工作。iOS 版本需要装有 Xcode 的 Mac 和签名，Summer 也可以从同一个项目导出桌面版本。

[开始重建](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