发布到 Google Play 商店
将更新发布到 Google Play 商店,包括 App Center 中的 Alpha 和 Beta 版跟踪。
先决条件
- Google 需要通过 Google 控制台将 Google Play 应用程序的第一个版本发布到生产。
- Google Play 开发人员帐户。 如果没有,可以在 Google 开发人员帐户门户注册。
- 确保你有 API 项目和服务帐户,以便 App Center 创建 Google Store 连接并代表你访问 Google Api。
- 有关这些跟踪的详细信息,请查看 Beta 和 Alpha 的先决条件 。
- 设置由 Google 发布的应用签名以发布 Android 应用捆绑包
.aab文件。
有关详细信息,请参阅 如何使用 Google Play 控制台。
链接 API Project
若要访问 Google API,请将 Google Play 控制台链接到 Google API 项目。 在大多数情况下,我们建议你创建一个新的 API 项目,但当前 API 用户可以链接到现有 API 项目。 请记住,每个 API 项目只能链接到单个 Google Play 控制台帐户。
创建新的 API 项目
- 在 Google Play 控制台中转到 GOOGLE API 访问页 。
- 接受服务条款。
- 单击 " 创建新项目"。
- 将自动生成 API 项目,并将其链接到 Google Play 控制台。
使用现有 API 项目
- 如果你已经是 Google Play 开发人员 API 的用户,可以通过执行以下步骤链接到现有 API 项目。 如果未列出要链接到的 API 项目,请验证 Google Play 控制台帐户是否指定为所有者,以及是否已启用 Google Play 开发人员 API。
- 在 Google Play 控制台中转到 GOOGLE API 访问页 。
- 接受 API 服务条款。
- 选择要链接的项目。
- 单击 " 链接"。
设置 API 访问客户端
创建 google 服务帐户 所带来的好处之一是在不提供个人用户凭据的情况下从生成服务器访问 API,下面是如何设置 Google 服务帐户的分步指南:
在 Google Play 控制台中转到 GOOGLE API 访问页 。

在 " 服务帐户" 下,单击 " 创建服务帐户 " 按钮开始处理。

在说明中,单击指向 GOOGLE API 控制台的链接。

单击新打开的页面上的 " 创建服务帐户 " 按钮。

此时将打开 " 创建服务帐户 " 页。

选择新服务帐户的名称,然后单击 " 创建"。

在下拉菜单中单击 " 选择角色 "。 选择 Project,然后选择 "所有者"。 单击 " 继续",导航到下一步。
备注
某些用户无法使用边缘和 Internet Explorer 下载 json 文件。
在 "新建" 页上,单击 " + 创建密钥 (可选) 并显示模式。

选择 " JSON " 并单击 " 创建 ",系统会将扩展名为的文件 .json 下载到系统; App Center 中使用此文件建立与 Google Play 的连接。

在 Google 开发人员控制台中创建服务帐户后,单击 " 完成"。 API 访问页会自动刷新,并将列出你的服务帐户。

关闭窗口,新的服务帐户将显示在原始页上。 单击 " 授予访问权限 " 按钮完成该过程。 在下一部分中,你将了解如何将 App Center 与 Google Play 连接。

设置 Google 的应用签名
- 在Google Play 开发人员控制台中选择应用
- 在左侧菜单中选择 " 应用签名 "
- 可以在三个选项之间进行选择:
- Upload 从 Android Studio 导出的密钥
- 从 Java 密钥库导出并上传密钥
- 导出并上传密钥, (不使用 Java 密钥存储)
- Google Play 推荐 (的应用签名)
- 单击 "完成"
在 App Center 中创建 Google Play 连接
- 单击左侧菜单中的 "分发" 下的 商店 。
- 在页面中间,单击 "要存储的连接" 按钮。
- 选择 Google Play 存储。
- 单击“下一步”。
- Upload 在创建服务帐户时下载的 私钥 JSON 文件。 如果将 JSON 字段编辑为不正确的值,则存储创建可能会失败。 请确保根据 上述先决条件部分,将服务帐户链接到 Google Play 开发人员控制台。
- 文件上传后,单击 "连接"。
- Google Play 连接现在应显示在 商店 主页的三个轨道、生产、Alpha 和 Beta 版中。 设置此连接是 App Center 中的应用程序的一次性过程。
将 AAB 发布到 Google Play 商店
- 从 商店 主页中,选择上面创建的任何曲目。
- 单击右上角的 " 发布", 将其存储在按钮上。
- Upload 应用程序包。 请注意以下几点:
- 在上载之前,应用程序必须准备好发布并使用有效的密钥存储进行签名。
- Google Play 商店支持最大为 2 GB 的 android 应用捆绑包。
.apk从生成的文件.aab不能超过 150 MB。 可以 在 AAB 的 Google 文档中阅读有关选项的详细信息。 - 的版本
.aab必须严格大于生产中的当前版本。 - 如果在其他跟踪(例如 Alpha 和 Beta 版)中安装了应用版本,则发布版本应严格低于 Alpha 和 Beta 版跟踪版本中的版本。
- App Center 不支持将应用从一个轨迹升级到另一个轨迹。 不能将版本从 alpha 升级到 beta 或 beta 版。
- 如果您要发布到的曲目中有草稿版本,则该草稿版本将不再支持您发布的新版本。
- 上传包后,可以看到应用程序的一些详细信息。 单击“下一步”。
- 单击 " 发布 ",将应用推送到 Google Play 商店。 "分发存储" 详细信息页上的此版本的状态将显示为 "已 提交"。
- App Center 完成将应用移交到 Google 后,应用的状态将更改为 " 已发布"。 Google 最多需要24小时才能在 Play store 中显示应用。
- 如果通过 Google 进行的发布失败,应用所有者会收到注册的 Google mail 的通知。
将 APK 发布到 Google Play 商店
- 在 "商店" 主页中,选择上面创建的任何轨迹。
- 单击 右上角按钮 上的"发布到应用商店"。
- Upload应用包。 请注意以下几点:
- 应用程序必须准备好进行发布, 并且必须在上传之前使用有效的密钥存储进行签名。
- Google Play 商店最多支持 100 MB 的应用程序包。 Upload超过 100 MB Google Play扩展文件直接连接到控制台。 阅读 Google 有关扩展文件的文档,以设置。
.apk必须在应用生成过程中进行 zipaligned。- 的版本
.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 或 Intune)的连接App Center。 并编译与目标一同工作的二进制文件。
可以使用 list 命令列出商店,如下所示:
appcenter distribute stores list \
--app {app_owner}/{app_name} \
--output json
你将获得如下所示的结果:
[["Alpha","googleplay","alpha"],["Beta","googleplay","beta"],["Production","googleplay","production"]
它是我们将在最后一步使用的"Store"列。
最后一步是通过运行以下代码发布应用:
appcenter distribute stores publish \
--file /path/to/file.aab \
--store Production \
--app {app_owner}/{app_name} \
--release-notes "Some note."
需要填写空格,如 list 命令。 可以改为使用 ,而不是使用静态 --release-notes-file 发行说明。 发行说明文件是使用 UTF-8 编码的纯文本文件。