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

向用户分发 Android 应用的最常用方法是通过 Google Play。 首次将应用提交到 Google Play 时,必须通过 Google Play 管理中心提交。 应用的后续版本可通过 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 管理中心中创建应用。 有关详细信息,请参阅在 Google Play 管理中心中创建应用
  3. 在 Google Play 管理中心中设置应用。 有关详细信息,请参阅在 Google Play 管理中心中设置应用
  4. 确保应用使用正确的包格式。 有关详细信息,请参阅确保正确的包格式
  5. 在 Visual Studio 中生成应用并对其进行签名,然后通过 Google Play 管理中心分发应用。 有关详细信息,请参阅通过 Google Play 管理中心分发应用

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

创建 Google Play 开发人员帐户

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

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

重要说明

必须先完成身份验证,然后才能通过 Google Play 发布应用。

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

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

在 Google Play 管理中心中创建应用

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

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

  2. 在 Google Play 管理中心的“所有应用”选项卡上,选择“创建应用”按钮

    Screenshot of the all apps page in Google Play.

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

    Screenshot of creating a new app in Google Play.

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

在 Google Play 管理中心中设置应用

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

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

确保正确的包格式

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

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

    Screenshot of changing the package format of a .NET MAUI Android app to APK. 发布

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

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

在 Visual Studio 中生成应用并对其进行签名:

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

    Select an Android deployment target in Visual Studio.

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

    Select the release configuration in Visual Studio.

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

    Select the publish menu item in Visual Studio.

    “存档管理器”随即打开,Visual Studio 将开始存档应用捆绑包

    Screenshot of the archive manager in Visual Studio.

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

    Screenshot of the archive manager in Visual Studio once archiving is complete.

    随即显示“分发 - 选择渠道”对话框

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

    Screenshot of selecting a distribution channel in the distribution dialog.

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

    Screenshot of creating a new signing identity in the distribution dialog.

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

    注意

    另外,还可以通过选择“导入”按钮来使用现有的签名标识

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

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

    Screenshot of creating an Android keystore.

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

    重要说明

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

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

    Screenshot of publishing your app for ad-hoc distribution.

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

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

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

    Screenshot of entering your signing identity password.

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

    Screenshot of opening the folder containing your published Android app.

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

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

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

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

重要说明

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

通过 Visual Studio 分发应用

AAB 必须已提交到 Google Play 并通过评审,然后才能从 Visual Studio 将其分发。 如果尝试从 Visual Studio 分发尚未从 Play 管理中心上传的 AAB,则将收到以下错误:

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

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

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

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

注意

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

将应用从 Visual Studio 上传到 Google Play 时,首先需要在 Google Play 管理中心中设置 API 访问。

启用 Google API 访问

Google Play 开发人员发布 API 使 Visual Studio 能够将应用的新版本上传到 Google Play。 在 Visual Studio 开始进行 API 调用之前,你需要在 Google Play 开发人员帐户中设置 API 访问。 这包括将 Google Play 开发人员帐户链接到 Google Cloud 项目,并使用 OAuth 客户端配置对 Google Play 开发人员发布 API 的访问。

若要启用 Google API 访问,请执行以下操作:

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

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

    Screenshot of API access page in Google Play Console.

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

    注意

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

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

    Screenshot of selecting the create a new Google Cloud project radio button.

    将创建一个新的 Google Cloud 项目并链接到你的 Google Play 开发人员帐户。

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

    Screenshot of API access page with linked Google Cloud project.

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

    Screenshot of selecting the user type for the OAuth consent screen.

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

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

    Screenshot of editing the OAuth consent screen app registration data.Screenshot of editing the OAuth consent screen developer contact information.

  7. 在“编辑应用注册”页中,选择“添加或移除范围”按钮

    Screenshot of adding scopes for the OAuth consent screen.

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

    Screenshot of adding the android publisher scope for the OAuth consent screen.

    注意

    可以选择表中的其他范围,因为这些是标准范围。

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

    Screenshot of selecting the credentials tab.

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

    Screenshot of selecting the create credentials button.

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

    Screenshot of creating OAuth credentials.

  12. 在“创建的 OAuth 客户端”对话框中,选择“下载 JSON”数据按钮以下载客户端 ID 和客户端密码。 稍后将需要这些信息。 然后单击“确定”按钮关闭对话框

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

通过 Visual Studio 上传应用

在 Visual Studio 中生成应用并对其进行签名:

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

    Select an Android deployment target in Visual Studio.

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

    Select the release configuration in Visual Studio.

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

    Select the publish menu item in Visual Studio.

    “存档管理器”随即打开,Visual Studio 将开始存档应用捆绑包

    Screenshot of the archive manager in Visual Studio.

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

    Screenshot of the archive manager in Visual Studio once archiving is complete.

    随即显示“分发 - 选择渠道”对话框

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

    Screenshot of selecting the Google Play distribution channel in the distribution dialog.

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

    Screenshot of selecting your newly created signing identity.

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

    Screenshot of adding a Google Play Developer account in the distribution dialog.

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

    Screenshot of registering your OAuth client ID and client secret in Visual Studio.

    注意

    利用帐户说明,可以注册多个 Google Play 开发人员帐户,并将应用上传到不同的 Google Play 开发人员帐户。

    此时将打开 Web 浏览器。

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

    Screenshot of Google sign in saying the app hasn't been verified.

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

    Screenshot of authorizing Google API access.

    Web 浏览器将收到验证码。

    重要说明

    请不要关闭 Web 浏览器。

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

    Screenshot of authorized Google API access in Visual Studio.

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

    • 内部轨道应用于快速分发应用,以进行内部测试和质量保证检查。
    • Alpha 轨道应用于将应用的早期版本上传给一小部分测试人员。
    • Beta 轨道应用于将应用的早期版本上传给更多的测试人员。
    • 生产轨道应用于完全分发到 Google Play 商店。
    • 自定义轨道应用于通过按电子邮件地址创建测试人员列表,向特定用户测试应用的预发布版本。

    重要说明

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

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

    Screenshot of selecting a Google Play Track prior to uploading your app.

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

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

    Screenshot of entering your password for your signing identity in Visual Studio.

    Visual Studio 将对应用捆绑包进行签名并将其上传到 Google Play。

    重要说明

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