平台打包与签名
自动关联目录:平台打包与签名
技术侧的打包流程见 Cook 与打包流程;本篇只讲发布相关的签名与平台配置。
1. 定位
签名是"能不能装上去"的门槛:证书不对、过期、或配置错了,包本身再好也发不出去。
一句话定位:签名相关的事项必须提前很久处理——证书申请有审核周期,临时抱佛脚会直接卡住发布。
2. 常见平台要点
| 平台 | 关键项 |
|---|---|
| iOS | 开发者账号、证书、Provisioning Profile、Bundle ID、设备/分发类型 |
| Android | Keystore(一旦丢失无法更新)、包名、版本号、ABI 与分包 |
| 主机 | 厂商流程与授权,周期更长 |
| Windows | 可选的代码签名证书 |
Android 的 Keystore 必须安全备份——丢失意味着无法再向同一应用发布更新。这是移动端发布里最严重的一次性风险。
3. 版本号与元数据
| 项 | 说明 |
|---|---|
| 版本名 / 版本号 | 商店与更新判断依据,要随发布递增 |
| 包名 / Bundle ID | 唯一标识,发布后不可改 |
| 图标与截图 | 商店要求 |
| 权限声明 | 商店与系统要求 |
| 目标 SDK 版本 | 商店有最低要求,且会随时间提高 |
4. 与打包流程的关系
| 阶段 | 说明 |
|---|---|
| Cook | 转平台格式(见 Cook 与打包流程) |
| Stage / Package | 组装(同上) |
| 签名 | 平台侧的最后一步 |
| 分发产物 | APK / AAB / IPA 等 |
5. 代价与权衡
| 设计 | 收益 | 代价 | 什么时候不该用 |
|---|---|---|---|
| 正式证书 + 安全备份 | 可持续发布 | 申请与保管成本 | 从不做——这是必须的 |
| AAB / 分包 | 主包更小 | 构建与分发流程更复杂 | 小包体游戏可省 |
| 自动化签名流水线 | 减少人为失误 | 要配置与保管凭据 | 手动签名易出错 |
| 调试证书临时顶替 | 快 | 不能发布 | 仅开发用 |
6. 踩坑与排查
| 坑 | 现象 | 怎么验证 |
|---|---|---|
| 证书过期 | 发布当天才发现 | 提前检查有效期 |
| Keystore 丢失 | 无法更新 | 备份与权限管理 |
| 包名/Bundle ID 不一致 | 上架被拒或无法更新 | 核对 |
| 版本号没递增 | 商店不接受 | 发布流程里自动递增 |
| 用了调试签名 | 无法上架 | 区分构建配置 |
| 目标 SDK 版本过低 | 商店拒绝 | 关注商店要求 |
| 权限声明缺失 | 运行时崩溃或被拒 | 核对权限 |
7. 排查顺序
1. 证书/Keystore 是否在有效期内且已备份?
2. 包名/Bundle ID 是否与线上一致?
3. 版本号是否递增?
4. 是否用的正式签名配置?
5. 商店的 SDK/权限要求是否满足?
6. 签名流程是否自动化(减少人为失误)?参考
- Cook 与打包流程 · 分发与商店要求 · 灰度与线上监控
- 包体分析 · 移动端渲染
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/6b09ecb2.html
更新于:2026年10月10日