跳过内容

Android Builds

使用Capgo专属基础设施,构建并提交Android应用到Google Play商店。

你将学到什么

标题:你将学到什么
  • 你将学习如何通过Capgo Native Build上传你的应用。
  • 你将学习如何配置Capgo Native Build的凭证。

前提条件

前提条件
  • 您需要有一个活跃的Google开发者账户
  • 您需要安装Android Studio
  • 您的应用程序必须能够使用Android Studio成功构建

第一个手动构建

第一个手动构建

在我们开始使用Capgo构建应用之前,我们应该首先设置它,并手动进行一次Android构建。 手动构建有几个优势:

  • 您将为后续Capgo构建准备凭据
  • 您将在Play Store控制台上创建一个记录

使用Android Studio手动构建应用

使用Android Studio手动构建应用

在我们开始使用Capgo构建应用之前,我们需要使用Android Studio手动构建应用。

  1. 打开Android Studio

    打开 Android Studio 项目。 bunx cap open android 点击

  2. Android Studio 生成签名的应用包 / APK Build -> Generate Signed App Bundles / APKs 选择

  3. 并点击 Android App Bundle Android Studio 选择 Android App Bundle Next 创建密钥库

当前,您缺少密钥库文件。该文件用于签署您的应用,让 Google 知道是您构建了该应用。 要生成它,我们将使用 Android Studio 提供的 GUI 方法。 也可以使用命令行来完成此操作,但我们不会在本教程中介绍。

点击

Android Studio 创建新密钥库

  1. __CAPGO_KEEP_0__ Create new __CAPGO_KEEP_1__

  2. 填写Key Store路径 Android Studio填写key store路径

  3. 设置Key Store密码 Android Studio设置key store密码

  4. 填写剩余表格

    1. 保持密钥别名不变(key0)
    2. 填写证书详细信息。 我已经用假数据填充了它,但您应该用自己的数据填充它。

    Android Studio 填写剩余表格

  5. 点击 OK Android Studio 点击 OK

完成手动构建

完成手动构建的部分
  1. 确保所有keystore的详细信息都已正确填写并点击 Next Android Studio 确保所有keystore的详细信息都已正确填写

  2. 选择 release Android Studio 选择发布构建变体 Create 构建成功后,您应该看到以下屏幕

  3. Android Studio 构建成功后 此弹出窗口指示构建成功

    1. 点击
    2. 按钮 - 这将打开文件资源管理器,您应该在其中看到构建 locate 确保您可以在文件资源管理器中看到构建
  4. 确保您可以在文件资源管理器中看到构建 确保在 Android Studio 中可以在文件资源管理器中看到构建

在 Google Play 商店控制台中创建应用

创建应用于 Google Play 商店控制台
  1. 前往 Google Play 控制台

  2. 选择正确的开发者账户 Google Play 控制台选择正确的开发者账户

  3. 点击 Create app Google Play 控制台创建应用

  4. 选择应用名称和语言 Google Play 控制台选择应用名称和语言

  5. 选择应用类别并确定应用是否收费或免费 在 Google Play Console 中选择应用程序类别并确定应用程序是否收费或免费

  6. 接受条款和条件 Google Play Console 接受条款和条件

  7. 点击 Create Google Play Console 点击创建

现在您已经创建了应用程序,可以创建一个内部测试组了。由于我不会实际在 Play Store 上发布应用程序,因此我需要创建一个内部测试组。

  1. 前往 internal testing 点击 Test and release -> Testing -> Internal testing

    Google Play Console内部测试

  2. 点击 Testers Google Play Console测试者

  3. 点击 Create email list Google Play Console创建邮件列表

  4. 命名电子邮件列表 Google Play Console 命名电子邮件列表

  5. 添加测试者邮箱地址 Google Play Console 添加测试者邮箱地址

  6. Enter 并点击 Save Google Play Console 按回车并点击保存

  7. 点击 Create group Google Play Console 创建组

  8. 确保新列表被选中并点击 Save Google Play Console 确保新列表被选中并点击保存

上传应用到内部测试组

上传应用到内部测试组

您已经创建了内部测试组,现在可以上传应用到内部测试组了。

  1. 前往 Test and release -> Testing -> Internal testing Google Play Console 内部测试

  2. 点击 Releases Google Play Console 发布按钮 点击

  3. Google Play Console 创建新发布 Create new release 点击

  4. Google Play Console 上传 Upload 选择 AAB 文件']}

  5. button Google Play Console 选择 AAB 文件

  6. 等待 AAB 文件上传

  7. 点击 Next Google Play Console 下一步

  8. 修复错误

    个人来说,在这个阶段我看到这个错误

    Google Play Console 大型可怕的警告

    这是因为我尚未验证我的电话号码。稍后我会继续教程。

  9. 点击 Save and publish 将应用发布到内部测试组。 Google Play Console 保存并发布

  10. 确认发布 Google Play Console 确认发布

  11. 确保应用已发布 Google Play Console 确保应用已发布

  12. 获取临时应用名称 Google Play Console 获取临时应用名称

接受内部测试组的邀请

接受内部测试组邀请

您已将应用上传到内部测试组后,可以接受内部测试组的邀请。

  1. 前往 Test and release -> Testing -> Internal testing Google Play Console 内部测试

  2. 点击 Testers Google Play Console 测试者

  3. 点击 Copy link Google Play Console 复制链接

  4. 将链接发送到您的手机,打开浏览器并点击 Accept Google Play Console 接受邀请

  5. 确认邀请已被接受并点击“在 Play Store 中下载它” Google Play Console 在 Play Store 中下载它

  6. 安装应用

    1. 如果您以前使用 Android Studio 安装了应用,请点击 uninstall 按钮 Google Play Console卸载应用
    2. 点击 install 按钮 Google Play Console安装应用
    3. 打开应用并确认它已成功下载

标题:配置Capgo原生构建(Android)

Section titled “Configuring Capgo Native Build (Android)”

现在,您已经准备好开始设置Capgo原生构建。恭喜您!🎉!

要求标志描述必需
Keystore文件--keystore <path>您文件的路径 .jks/.keystore 用于签署APK/AAB的文件。
Keystore别名--keystore-alias <alias>Keystore内的密钥别名。
__CAPGO_KEEP_0__密码--keystore-key-password <password>__CAPGO_KEEP_0__密码。如果密钥/存储密码匹配,可以只提供一个。请查看下面的注释
__CAPGO_KEEP_1__密码--keystore-store-password <password>__CAPGO_KEEP_1__密码。如果密钥/存储密码匹配,可以只提供一个。请查看下面的注释
Google Play服务账户--play-config <path>Play Store上传的JSON服务账户文件
终端窗口
bunx @capgo/cli@latest build credentials save --platform android \
--keystore ./path/to/keystore.jks \
--keystore-alias "your-alias" \
--keystore-key-password "key-password" \
--keystore-store-password "store-password" \
--play-config ./play-store-service-account.json

Keystore, keystore密码, keystore密钥密码, keystore别名

标题为“Keystore, keystore密码, keystore密钥密码, keystore别名”

如果您已经遵循了 手动构建指南,您应该已经生成了keystore。 如果您没有遵循指南,请遵循它们来生成keystore。

生成Google Play服务账户是一个手动和复杂的过程。 然而,它是上传应用到Google Play所必需的。请记住以下几点:

  • 需要 成为 开发者账户的所有者
  • 。否则,您将无法设置服务账户

。您需要创建一个新的Google Cloud项目(与您的Google Play账户

  1. 分开) 让我们开始

  2. 前往 Google Cloud控制台

  3. 点击项目选择器

    1. 点击 New project 在 Google Console 中点击新项目按钮
    2. 为您的项目命名并点击 Create 项目命名屏幕显示名称字段和创建按钮
    3. 确保您在正确的项目中 项目名称在选择器中显示,表示正确的项目选择
  4. 让我们点击搜索栏并搜索 service accounts 并点击它 Google Console 搜索栏

  5. 让我们点击 Create service account 在 Google Console 中创建服务帐号按钮

  6. 在服务帐号表单中填写并点击 Done

    1. 我建议将名称设置为 Capgo Native Build Service Account
    2. 对于服务帐号 ID,我建议将其设置为 capgo-native-build-service-acc
    3. 对于描述,您不必填写,但我建议填写 Allows Capgo Native Build to build and submit the app to the Play Store

    Google Console 服务帐号表单

  7. 点击新创建的服务帐号 您现在应该在列表中看到新创建的服务帐号。点击它。 Google Console 新创建的服务帐号

  8. 点击 Keys tab Google Console 的 Keys tab

  9. 点击 Add KeyCreate new key 在 Google Console 中添加密钥并创建新密钥

  10. 点击 JSONCreate Google Console 中的 Create Key 按钮

  11. 关闭窗口。 close Google Console 下载密钥 授予 Play Store __CAPGO_KEEP_0__ 访问服务帐户

The newly created service account does not yet have access to the Play Store API. To grant it, head to the Play Store Console.

  1. Google Play Console 选择正确的开发者帐户
  2. granting_play_store__capgo_keep_0__access_to_the_service_account Google Play Console 选择正确的开发者账户
  3. 点击 Users and permissions Google Play Console 用户和权限
  4. 点击 Invite new users Google Play Console 邀请新用户
  5. 复制服务账户的电子邮件地址 Google Play Console 复制服务账户的电子邮件地址
  6. 前往 Account permissions 并授予最少的必要权限:
    • App permissions,授予对您的应用的访问权限。
    • Releases启用 Create, edit, and roll out releases.
    • 如果您的工作流程使用Play App Signing,请启用相关的签名权限。
    • 如果您不确定,请 Admin 仅在设置期间使用,然后在之后减少权限。 Google Play Console 授予权限
  7. 点击 Invite user Google Play Console 邀请用户
  8. 确认邀请 Google Play Console 确认邀请
  9. 确认用户已被邀请 Google Play Console 确认用户已被邀请

您现在准备好保存凭据并运行第一个构建。 您可以使用以下命令保存凭据:

终端窗口
bunx @capgo/cli@latest build credentials save --platform android \
--keystore ./path/to/keystore.jks \
--keystore-alias "your-alias" \
--keystore-key-password "key-password" \
--keystore-store-password "store-password" \
--play-config ./play-store-service-account.json

如果您已经完成了 Keystore、keystore密码、keystore密钥密码、keystore别名Google Play服务帐号,您已经具备了CI/CD所需的所有内容。 本节仅介绍如何将这些值作为GitHub Actions机密和环境变量传递。 1) 将凭据文件转换为单行base64

终端窗口
# Android keystore (.jks or .keystore)
base64 -i ./path/to/keystore.jks | tr -d '\n' > keystore_base64.txt
# Google Play service account JSON
base64 -i ./play-store-service-account.json | tr -d '\n' > play_config_base64.txt

GitHub > Repository > Settings > Secrets and variables > Actions,添加:

秘密名称
CAPGO_TOKEN您的 Capgo API token
APP_ID您的 Capgo 应用程序 ID(例如: com.example.app)
ANDROID_KEYSTORE_FILE内容 keystore_base64.txt
KEYSTORE_KEY_ALIAS存储库存储库密码、存储库密钥密码、存储库别名
KEYSTORE_KEY_PASSWORD存储库密钥密码
KEYSTORE_STORE_PASSWORD存储库存储库密码
PLAY_CONFIG_JSON内容 play_config_base64.txt

3) 在您的GitHub Actions 工作流中使用环境变量

Section titled “3) 在您的GitHub Actions 工作流中使用环境变量”
github/workflows/android-build.yml
name: Android Cloud Build
on:
workflow_dispatch:
push:
branches: [main]
jobs:
android-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Request Android build with Capgo
run: bunx @capgo/cli@latest build request ${{ secrets.APP_ID }} --platform android
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE_FILE }}
KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }}
KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }}
PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }}

恭喜!您现在已经准备好运行第一个构建了。

Run:

终端窗口
bunx @capgo/cli@latest build request com.example.app --platform android

这将开始构建过程 🍾🥂

继续从 Android Builds

标题:继续从 Android Builds

如果您正在使用 Android Builds 来规划 CI/CD 自动化,连接它与 Capgo CI/CD 为 Capgo CI/CD 中的产品工作流程 Capgo Native Builds 为 Capgo Native Builds 中的产品工作流程 Capgo 集成 Capgo 集成的产品工作流程 CI/CD 集成 CI/CD 集成的实现细节 GitHub 动作集成 GitHub 动作集成的实现细节