发布适用于 Google Play 分发的 Android 应用

将 Android 应用分发给用户的最常用方法是通过 Google Play。 首次将应用提交到 Google Play 时,必须通过 Google Play Console 提交。 可以通过 Visual Studio 提交应用的后续版本。 两种情况都需要用到 Google Play 开发人员帐户。 提交到 Google Play 的应用需要经过 Google 批准。

若要分发 .NET Multi-platform App UI (.NET MAUI) Android 应用,需要在上传到 Google Play 之前使用密钥存储中的密钥对其进行签名。 密钥存储是充当证书和私钥存储库的二进制文件。

Google Play 要求将应用作为 Android 应用程序包 (AAB) 提交。 Google Play 会使用应用程序包为每个设备配置生成和提供经优化的 Android 程序包 (APK),以便仅下载特定设备所需的代码和资源来运行应用。 有关 Android 应用程序包的详细信息,请参阅 developer.android.com 上的关于 Android 应用程序包

通过 Google Play 分发 .NET MAUI Android 应用的过程如下所示:

  1. 创建 Google Play 开发人员帐户。 有关详细信息,请参阅创建 Google Play 开发人员帐户
  2. 在 Google Play Console 中创建应用。 有关详细信息,请参阅在 Google Play Console 中创建应用
  3. 在 Google Play Console 中设置应用。 有关详细信息,请参阅在 Google Play Console 中设置应用
  4. 确保应用使用正确的包格式。 有关详细信息,请参阅确保正确的包格式
  5. 在 Visual Studio 中生成和签名应用,然后通过 Google Play Console 分发应用。 有关详细信息,请参阅通过 Google Play Console 分发应用

然后,可以通过 Visual Studio 发布应用的后续版本。 有关详细信息,请参阅通过 Visual Studio 分发应用

创建 Google Play 开发人员帐户

若要在 Google Play 上发布 Android 应用,需要创建 Google Play 开发人员帐户:

  1. 使用 Google 帐户注册 Google Play 开发人员帐户
  2. 输入开发人员身份相关信息。
  3. 在注册过程中,需要查看并接受 Google Play 开发人员分发协议
  4. 支付 25 美元的一次性注册费用。
  5. 按照验证电子邮件中的说明验证身份。

重要说明

必须先完成身份验证,然后才能通过 Google Play 发布应用。 此外,新的个人帐户持有者必须验证他们是否有权访问真正的 Android 设备。 有关详细信息,请在 support.google.com 上参阅新开发者帐户的设备验证要求

创建 Google Play 开发人员帐户后,你将能够开始执行将应用发布到 Google Play 的流程。

有关详细信息,请参阅 support.google.com 上的注册 Google Play 开发人员帐户

在 Google Play Console 中创建应用

创建 Google Play 开发人员帐户后,需要在 Google Play Console 中创建应用:

  1. 登录 Google Play 开发人员帐户

  2. 在 Google Play Console 的“所有应用”选项卡上,选择“创建应用”按钮:

    Google Play 中所有应用页面的屏幕截图。

  3. 在“创建应用”页中,输入应用详细信息,然后选择“创建应用”按钮:

    在 Google Play 中创建新应用的屏幕截图。

有关在 Google Play Console 中创建应用的详细信息,请参阅 support.google.com 上的创建和设置应用

在 Google Play Console 中设置应用

创建应用后,应对其进行设置。 应用的仪表板将指导你完成所有最重要的步骤。

若要开始设置应用,请选择位于左侧菜单的“仪表板”。 在页面顶部的应用详细信息下,可以找到与应用设置和版本相关的不同类别和任务。 必须先完成强制性任务,然后才能在 Google Play 上发布应用。 完成任务后,你将看到绿色对号标记和带删除线的文本。 该部分顶部的进度栏也将更新。 有关详细信息,请参阅 support.google.com 上的在应用仪表板上设置应用

确保设置正确的包格式

若要发布适用于 Google Play 分发的 .NET MAUI Android 应用,应用包必须为 AAB 格式,此为发布版本的默认包格式。 若要验证应用的包格式是否已正确设置,请执行以下操作:

  1. 在 Visual Studio 的“解决方案资源管理器”中,右键单击 .NET MAUI 应用项目,然后选择“属性”。 然后,导航到“Android > 选项”选项卡,并确保将“发布”字段的值设置为“捆绑包”

    将 .NET MAUI Android 应用的包格式更改为 APK 的屏幕截图。 发布

通过 Google Play 管理中心分发应用

首次将 AAB 提交到 Google Play 时,必须通过 Google Play 管理中心手动上传。 这样,Google Play 能够将今后所有捆绑包上的密钥签名与第一版应用使用的原始密钥进行匹配。 若要通过 Google Play 管理中心上传应用,必须先在 Visual Studio 中生成应用并对其进行签名。

若要在 Visual Studio 中生成应用并对其签名,请执行以下操作:

  1. 在 Visual Studio 工具栏中,使用“调试目标”下拉列表选择“Android Emulators”,然后选择所选仿真器:

    在 Visual Studio 中选择 Android 部署目标。

  2. 在 Visual Studio 工具栏中,使用“解决方案配置”下拉列表从调试配置更改为发布配置:

    在 Visual Studio 中选择发布配置。

  3. 在“解决方案资源管理器”中,右键单击 .NET MAUI 应用项目,然后选择“发布...”

    在 Visual Studio 中选择“发布”菜单项。

    “存档管理器”将打开,Visual Studio 将开始存档应用程序包:

    Visual Studio 中存档管理器的屏幕截图。

  4. 在“存档管理器”中,存档成功完成后,确保已选择存档,然后选择“分发...”按钮以开始分发应用的过程:

    存档完成后 Visual Studio 中存档管理器的屏幕截图。

    将显示“分发 - 选择频道”对话框。

  1. 在“分发 - 选择频道”对话框中,选择“临时”按钮:

    在分发对话框中选择分发通道的屏幕截图。

  2. 在“分发 - 签名标识”对话框中,选择 + 按钮来创建新的签名标识:

    在分发对话框中新建签名标识的屏幕截图。

    系统将显示“创建 Android 密钥存储”对话框。

    注意

    或者,可以通过选择“导入”按钮来使用现有的签名标识。

  3. 在“创建 Android 密钥存储”对话框中,输入创建新的签名标识(称为“密钥存储”)所需的信息,然后选择“创建”按钮:

    • 别名。 输入密钥的标识名称。
    • 密码。 创建并确认密钥的安全密码。
    • 有效期。 设置密钥的有效时长(以年为单位)。
    • 全名、组织单位、组织、城市或地区、州或省和国家/地区代码。 此信息不会显示在应用中,但包含在证书中。

    创建 Android 密钥存储的屏幕截图。

    包含新证书的新密钥存储将被保存到 C:\Users{Username}\AppData\Local\Xamarin\Mono for Android\Keystore{Alias}{Alias}.keystore

    重要说明

    密钥存储和密码不会被保存到 Visual Studio 解决方案。 因此,请确保备份此数据。 如果丢失,将无法使用相同的签名标识对应用进行签名。

  4. 在“分发 - 签名标识”对话框中,选择新创建的签名标识,然后选择“另存为”按钮:

    发布应用进行临时分发的屏幕截图。

    “存档管理器”将显示发布进度。

  5. 在“另存为”对话框中,确认包的位置和文件名正确无误,然后选择“保存”按钮

  6. 在“签名密码”对话框中,输入签名标识密码,然后选择“确定”按钮:

    输入签名标识密码的屏幕截图。

  7. 在“存档管理器”中,完成发布过程后,选择“打开分发”按钮:

    打开包含已发布 Android 应用的文件夹的屏幕截图。

    Visual Studio 将打开包含已发布应用的文件夹。

然后,可以通过 Google Play 管理中心将已发布的应用发布到 Google Play。 为此,必须先在 Google Play 管理中心中创建一个发布版本。 发布版本是一个或多个要准备的应用版本的组合,用于发布应用或推出更新。 可以在以下轨道上创建发布版本:

  • 内部测试。 内部测试版本可供所选的最多 100 名测试人员使用。
  • 封闭测试。 封闭测试版本可供所选的有限数量的测试人员使用,他们可以测试应用的预发布版本并提交反馈。
  • 公开测试。 公开测试版本可供 Google Play 上的测试人员使用。 用户可以从 Store 一览加入测试。
  • 生产。 生产版本可供所选国家/地区的所有 Google Play 用户使用。

有关在 Google Play Console 中创建版本的详细信息,请参阅 support.google.com 上的准备工作和发布版本

重要说明

提交到 Google Play 的应用通常要经历审查流程。 有关详细信息,请参阅 support.google.com 上的准备应用以供审核发布应用

通过 Visual Studio 分发应用

AAB 必须已提交到 Google Play,并已通过审查,然后才能从 Visual Studio 进行分发。 如果尝试从 Visual Studio 分发尚未从 Play Console 上传的 AAB,将收到以下错误:

Google Play 要求手动上传此应用的第一个包 (APK/AAB)。 可以为其使用临时包。

发生此错误时,请通过 Google Play Console 手动上传 AAB。 然后,可以通过 Visual Studio 发布应用的后续版本。 但是,每次上传时必须更改应用的版本代码,否则会出现如下错误:

版本代码为 (1) 的 AAB 已上传。

要解决此错误,请使用其他版本号重新生成应用,然后通过 Visual Studio 将其重新提交到 Google Play。

注意

可以通过增加应用项目文件中 ApplicationVersion 整数属性的值来更新应用的版本号。

将应用从 Visual Studio 上传到 Google Play 首先需要在 Google Play Console 中设置 API 访问权限。

启用 Google API 访问权限

Google Play Developer Publishing API 支持 Visual Studio 将新版本的应用上传到 Google Play。 在 Visual Studio 开始进行 API 调用之前,需要在 Google Play 开发人员帐户中设置 API 访问权限。 这包括将 Google Play 开发人员帐户关联到 Google Cloud 项目,以及使用 OAuth 客户端配置对 Google Play Developer Publishing API 的访问权限。

要启用 Google API 访问权限:

  1. 登录 Google Play 开发人员帐户

  2. 在 Google Play Console 中,展开“设置”项并选择“API 访问权限”。 然后在“API 访问权限”页中,选择“选择要链接的项目”按钮:

    Google Play Console 中 API 访问页面的屏幕截图。

    要使用 Google Play Developer API,需要一个必须链接到 Google Play 开发人员帐户的 Google Cloud 项目。

    注意

    一个 Google Play 开发人员帐户只能链接到单个 Google Cloud 项目。 因此,如果从一个 Google Play 开发人员帐户发布多个应用,这些应用必须共享相同的 Google Cloud 项目。

  3. 在“API 访问权限”页中,选择“新建 Google Cloud 项目”单选按钮,然后选择“保存”按钮:

    选择“新建 Google Cloud 项目”单选按钮的屏幕截图。

    系统将新建 Google Cloud 项目,并将其关联到 Google Play 开发人员帐户。

  4. 在“API 访问权限”页的“OAuth 客户端”部分中,选择“配置 OAuth 同意屏幕”

    包含链接的 Google Cloud 项目的 API 访问页的屏幕截图。

  5. 在“OAuth 同意屏幕”页中,选择所需用户类型的单选按钮,然后选择“创建”按钮:

    为 OAuth 同意屏幕选择用户类型的屏幕截图。

    有关用户类型的详细信息,请参阅 support.google.com 上的用户类型

  6. 在“编辑应用注册”页中,填写标记为“必填”的字段,然后选择“保存并继续”按钮:

    编辑 OAuth 同意屏幕应用注册数据的屏幕截图。编辑 OAuth 同意屏幕开发人员联系信息的屏幕截图。

  7. 在“编辑应用注册”页中,选择“添加或删除作用域”按钮:

    为 OAuth 同意屏幕添加作用域的屏幕截图。

  8. 在“更新所选作用域”浮出控件中,选择表中的 ./auth/androidpublisher 作用域,然后选择“更新”按钮:

    为 OAuth 同意屏幕添加 Android 发布者范围的屏幕截图。

    注意

    可以选择表中的其他作用域,因为它们是标准作用域。

  9. 在“编辑应用注册”页中,选择“凭据”选项卡:

    选择“凭据”选项卡的屏幕截图。

  10. 在“凭据”页中,选择“+ 创建凭据”按钮,然后选择“OAuth 客户端 ID”项:

    选择“创建凭据”按钮的屏幕截图。

  11. 在“创建 OAuth 客户端 ID”页,在“应用程序类型”下拉菜单中选择“桌面应用”,在“名称”字段中输入“Visual Studio”,然后选择“CREATE”按钮:

    创建 OAuth 凭据的屏幕截图。

  12. 在“已创建 OAuth 客户端”对话框中,选择“下载 JSON”数据按钮,以便下载客户端 ID 和客户端密码。 稍后需要使用它们。 然后,单击“确定”按钮以关闭对话框。

有关启用 Google API 访问 Google Play 开发人员帐户权限的详细信息,请参阅 developers.google.com 上的入门指南。 有关设置 OAuth 同意屏幕的详细信息,请参阅 support.google.com 上的设置 OAuth 同意屏幕

通过 Visual Studio 上传应用

若要在 Visual Studio 中生成应用并为其签名,请执行以下操作:

  1. 在 Visual Studio 工具栏中,使用“调试目标”下拉列表选择“Android Emulators”,然后选择所选仿真器:

    在 Visual Studio 中选择 Android 部署目标。

  2. 在 Visual Studio 工具栏中,使用“解决方案配置”下拉列表从调试配置更改为发布配置:

    在 Visual Studio 中选择发布配置。

  3. 在“解决方案资源管理器”中,右键单击 .NET MAUI 应用项目,然后选择“发布...”

    在 Visual Studio 中选择“发布”菜单项。

    “存档管理器”将打开,Visual Studio 将开始存档应用程序包:

    Visual Studio 中存档管理器的屏幕截图。

  4. 在“存档管理器”中,存档成功完成后,确保已选择存档,然后选择“分发...”按钮以开始分发应用的过程:

    存档完成后 Visual Studio 中存档管理器的屏幕截图。

    将显示“分发 - 选择频道”对话框。

  1. 在“分发 - 选择通道”对话框中,选择“Google Play”按钮:

    在分发对话框中选择 Google Play 分发渠道的屏幕截图。

  2. 在“分发 - 签名标识”对话框中,选择生成要通过 Google Play 管理中心分发的应用时创建的签名标识,然后选择“继续”按钮:

    选择新创建的签名标识的屏幕截图。

  3. 在“分发 - Google Play 帐户”对话框中,选择 + 按钮以添加 Google Play 开发人员帐户详细信息:

    在分发对话框中添加 Google Play 开发者帐户的屏幕截图。

  4. 在“注册 Google API 访问”对话框中,输入描述和 OAuth 客户端 ID 与客户端密码,然后单击“注册”按钮:

    在 Visual Studio 中注册 OAuth 客户端 ID 和客户端密码的屏幕截图。

    注意

    根据帐户描述,可以注册多个 Google Play 开发人员帐户,并将应用上传到不同的 Google Play 开发人员帐户。

    将打开一个 Web 浏览器。

  5. 在 Web 浏览器中,登录 Google Play 开发人员帐户。 登录后,可能会出现一条信息,告知你 Google 尚未验证该应用。 如果发生这种情况,请选择“继续”按钮:

    Google 登录的屏幕截图,其中显示应用尚未经过验证。

  6. 在 Web 浏览器中,选择“继续”按钮,以向应用授权:

    授权 Google API 访问的屏幕截图。

    Web 浏览器将收到验证码。

    重要说明

    不要关闭 Web 浏览器。

  7. 在 Visual Studio 的“分发 - Google Play 帐户”对话框中,选择“继续”

    Visual Studio 中授权的 Google API 访问的屏幕截图。

  8. 在“分发 - Google Play 轨道”对话框中,选择要将应用上传到的轨道。 Google Play 提供 5 个可用于上传应用的轨道:

    • “内部”用于快速分发应用以进行内部测试和质量保证检查。
    • “Alpha”用于将早期版本的应用上传到较小的测试人员群组。
    • “Beta”用于将早期版本的应用上传到较大的测试人员群组。
    • “生产”用于完整分发到 Google Play 商店。
    • “自定义”用于根据电子邮件地址创建测试人员列表,让特定用户测试应用的预发布版本。

    重要说明

    如果未看到自定义轨道,请确保已在 Google Play 管理中心中为该轨道创建了一个发布。 有关详细信息,请参阅 support.google.com 上的准备和发布版本

    选择要将应用上传到的轨道,然后选择“上传”按钮:

    在上传应用之前选择 Google Play 轨道的屏幕截图。

    有关 Google Play 测试的详细信息,请参阅 support.google.com 上的设置开放式、封闭式或内部测试

  9. Visual Studio 将开始向 Google Play 发布应用。 在“签名密码”对话框中,输入为签名标识创建的密码,然后选择“确定”按钮:

    在 Visual Studio 中输入签名标识的密码的屏幕截图。

    Visual Studio 将对应用程序包进行签名,并将其上传到 Google Play。

    重要说明

    提交到 Google Play 的应用通常要经历审查流程。 有关详细信息,请参阅 support.google.com 上的准备应用以供审核发布应用