发布到 Google Play 商店
重要
Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。
将更新发布到 Google Play Store,包括 App Center 中的 Alpha 和 Beta 曲目。
先决条件
- Google 要求通过 Google 控制台将 Google Play 应用程序的第一个版本发布到生产环境。
- Google Play 开发人员帐户。 如果没有,可以在 Google 开发人员帐户门户中注册。
- 确保你有一个 API 项目和服务帐户,以便应用中心创建 Google Store 连接并代表你访问 Google API。
- 有关这些曲目的详细信息 ,请查看发布应用 。
- 设置 Google 的应用签名以发布 Android App 捆绑包
.aab
文件。
有关详细信息,请参阅 如何使用 Google Play 主机。
链接 API 项目
若要访问 Google API,请将 Google Play Console 链接到 Google API 项目。 在大多数情况下,建议创建新的 API 项目,尽管当前 API 用户可以链接到现有 API 项目。 请记住,每个 API 项目只能链接到单个 Google Play Console 帐户。
创建新的 API 项目
- 转到 Google Play Console 上的 Google API 访问页面 。
- 接受服务条款。
- 单击“创建新项目”。
- API 项目会自动生成并链接到 Google Play Console。
使用现有 API 项目
- 如果你已经是 Google Play 开发人员 API 的用户,则可以按照以下步骤链接到现有 API 项目。 如果未列出要链接到的 API 项目,请验证你的 Google Play Console 帐户是否已指定为所有者,并且是否启用了 Google Play 开发人员 API。
- 转到 Google Play Console 上的 Google API 访问页面 。
- 接受 API 服务条款。
- 选择要链接的项目。
- 单击“ 链接”。
设置 API 访问客户端
创建 Google 服务帐户 的一个额外好处是,无需提供个人用户凭据即可从生成服务器访问 API,下面是有关如何设置 Google 服务帐户的分步指南:
转到 Google Play Console 上的 Google API 访问页面 。
在 “服务帐户”下,单击“ 创建服务帐户 ”按钮以开始该过程。
在说明中,单击 指向 Google API 控制台的链接。
单击新打开的页面上的“ 创建服务帐户 ”按钮。
此时会打开 “创建服务帐户 ”页。
选择新服务帐户的名称,然后单击“ 创建”。
单击下拉菜单中的 “选择角色 ”。 依次选择“ 项目”、“ 所有者”。 单击“ 继续”导航到下一步。
注意
某些用户无法使用 Edge 和 Internet Explorer 下载.json文件。
在新页面上,单击“ + 创建密钥” (可选) 并显示模式。
选择 JSON 并单击“ 创建 ”,扩展名为 .json
的文件将下载到系统;此文件将在 App Center 中用于建立与 Google Play 的连接。
在 Google 开发人员控制台上创建服务帐户后,单击“ 完成”。 “API 访问”页会自动刷新,并列出服务帐户。
关闭窗口,新服务帐户将显示在原始页面上。 单击“ 授予访问权限” 按钮以完成该过程。 在下一部分中,你将了解如何将 App Center 与 Google Play 连接。
设置 Google 的应用签名
- 在 Google Play 开发人员控制台中选择你的应用
- 在左侧菜单中选择 “应用登录 ”
- 可以在三个选项之间进行选择:
- 上传从 Android Studio 导出的密钥
- 从 Java 密钥存储导出和上传密钥
- 导出和上传密钥 (不使用 Java 密钥存储)
- Google Play 的应用签名 (推荐)
- 单击“完成”
在 App Center 中创建 Google Play 连接
- 单击左侧菜单中的“分发”下的“ 应用商店 ”。
- 在页面中间,单击“ 连接到应用商店 ”按钮。
- 选择 “Google Play 商店”。
- 单击“下一步”。
- 上传在创建服务帐户时下载的 私钥 JSON 文件。 如果 JSON 字段被编辑为不正确的值,则存储创建可能会失败。 根据 上述先决条件部分,请确保已将服务帐户链接到 Google Play 开发人员控制台。
- 上传文件后,单击“ 连接”。
- 现在,Google Play 连接应该在 应用商店 主页中显示三个轨道:“生产”、“Alpha”和“Beta”。 设置此连接是 App Center 中应用的一次性过程。
将 AAB 发布到 Google Play 商店
- 在 “应用商店 ”主页中,选择上面创建的任何曲目。
- 单击右上角按钮上的“ 发布到应用商店 ”。
- 上传应用包。 需要注意的几点:
- 在上传之前,应用程序必须准备好发布并使用有效的密钥存储进行签名。
- Google Play Store 支持最多 2 GB 的 Android 应用捆绑包。
.apk
从.aab
生成的文件不能超过 150 MB。 有关选项的详细信息,请参阅 Google 的 AAB 文档。 - 的版本
.aab
必须严格大于生产中的当前版本。 - 如果你在其他轨道(如 Alpha 和 Beta)中有应用版本,则发布版本应严格低于 Alpha 和 Beta 轨道版本中的版本。
- App Center 不支持将应用从一个轨道提升到另一个轨道。 无法将某个版本从 alpha 升级到 beta 版本,也不能将 beta 版本提升到生产版本。
- 如果在要发布到的曲目中有草稿版本,该草稿版本将消失,转而改用你发布的新版本。
- 上传包后,可以看到应用程序的一些详细信息。 单击“下一步”。
- 单击“ 发布 ”将应用推送到 Google Play 商店。 “分发应用商店详细信息”页上此版本的状态将显示为 “已提交”。
- App Center 完成应用向 Google 的移交后,应用的状态将更改为 “已发布”。 Google 最多可能需要 24 小时才能在 Play 商店中显示该应用。
- 如果 Google 发布失败,应用所有者将收到注册的 Google 邮件的通知。
将 APK 发布到 Google Play 商店
- 在 “应用商店 ”主页中,选择上面创建的任何曲目。
- 单击右上角按钮上的“ 发布到应用商店 ”。
- 上传应用包。 需要注意的几点:
- 在上传之前,应用程序必须准备好发布并使用有效的密钥存储进行签名。
- Google Play Store 支持的应用程序包最大为 100 MB。 如果应用程序超过 100 MB,请将扩展文件直接上传到 Google Play Console。 阅读 Google 关于扩展文件的文档进行设置。
- 在
.apk
应用生成过程中,必须 zipalign 。 - 的版本
.apk
必须严格大于生产中的当前版本。 - 如果你在其他轨道(如 Alpha 和 Beta)中有应用版本,则发布版本应严格低于 alpha 和 Beta 轨道版本中的版本。
- App Center 不支持将应用从一个轨道提升到另一个轨道。 无法将某个版本从 alpha 升级到 beta 版本,也不能将 beta 版本提升到生产版本。
- 如果在要发布到的曲目中有草稿版本,则新版本将覆盖该版本。
- 上传包后,可以看到应用程序的一些详细信息。 单击“下一步”。
- 单击“ 发布 ”将应用推送到 Google Play 商店。 分发存储详细信息页上此版本的状态将显示为 “已提交”。
- App Center 完成应用向 Google 的移交后,应用的状态将更改为 “已发布”。 Google 最多可能需要 24 小时才能在 Play 商店中显示该应用。
- 如果 Google 发布失败,应用所有者将收到注册的 Google 邮件的通知。
通过 CLI 发布
警告
需要使用 App Center CLI 2.7 或更高版本才能使用此功能。
使用 CLI 是将 App Center 的应用商店连接作为 CI/CD 设置的一部分(如 Jenkins 或 Go CI)的一种简单方法。
在使用 CLI 之前,需要与目标建立连接,即 Google Play、App Store或 App Center 中的Intune。 然后编译一个与目标一起使用的二进制文件。
可以使用 list 命令列出存储,如下所示:
appcenter distribute stores list \
--app {app_owner}/{app_name} \
--output json
你将得到如下所示的结果:
[["Alpha","googleplay","alpha"],["Beta","googleplay","beta"],["Production","googleplay","production"]
它是我们将在最后一步中使用的应用商店列。
最后一步是通过运行以下操作来发布应用:
appcenter distribute stores publish \
--file /path/to/file.aab \
--store Production \
--app {app_owner}/{app_name} \
--release-notes "Some note."
需要填写列表命令等空白。 可以改用 --release-notes-file
而不是静态发布说明。 发行说明文件是使用 UTF-8 编码的纯文本文件。