跳过内容

Android Builds

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

  • 你将学习如何通过 Capgo 原生构建上传你的应用
  • 你将学习如何配置 Capgo 原生构建的凭证
  • 你需要有一个活跃的 Google 开发者账户
  • 你需要安装 Android Studio
  • 你的应用必须能够在 Android Studio 中成功构建

第一个手动构建

第一个手动构建

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

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

使用Android Studio手动构建应用

手动构建应用(Android Studio)

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

  1. 打开Android Studio

    运行 bunx cap open android 以打开Android Studio项目

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

  3. 选择 Android App Bundle 并点击 Next Android Studio 选择 Android App Bundle

您当前缺少 Keystore 文件。该文件用于签署您的应用程序,使 Google 知道该应用程序是您开发的。 要生成它,我们将使用 Android Studio 提供的 GUI 方法。 也可以使用命令行来完成此操作,但我们将在本教程中不覆盖此内容。

  1. 点击 Create new Android Studio 创建新 Keystore

  2. 填写 Key Store 路径 Android Studio 填写密钥存储路径

  3. 设置密钥库密码 Android Studio 设置密钥库密码

  4. 填写剩余的表单

    1. Keep the Key Alias as is (key0)
    2. 请填写证书详细信息。您可以用假数据填写,但您应该用自己的详细信息填写。

    Android Studio 填写剩余的表单

  5. 点击 OK Android Studio 点击 OK

手动构建的最后一步

标题:手动构建的最后一步
  1. 确保所有 keystore 的详细信息都已正确填写并点击 Next Android Studio 确保所有 keystore 的详细信息都已正确填写

  2. 选择 release 构建变体并点击 Create Android Studio 选择发布构建变体

  3. 如果构建成功,你应该看到以下屏幕 Android Studio 构建成功后

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

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

标题为“在 Google Play 商店控制台创建应用”
  1. 前往 Google Play 控制台

  2. 选择正确的开发者账户 Google Play Console 选择正确的开发者账户

  3. 点击 Create app Google Play Console 创建应用

  4. 选择应用名称和语言 Google Play Console 选择应用名称和语言

  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. 点击 Create new release Google Play Console 创建新发布

  4. 点击 Upload Google Play Console 上传

  5. 选择 AAB 文件 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 商店下载” Google Play Console 在 Play 商店下载

  6. 安装应用

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

配置 Capgo 本机构建(Android)

标题:配置 Capgo 本机构建(Android)

现在,您已经准备好开始 Capgo 本机构建的设置了。祝贺!

要求标志描述必需
存储库文件--keystore <path>APK/AAB 签名文件路径 .jks/.keystore 用于签名 APK/AAB 的文件
Keystore 别名--keystore-alias <alias>Keystore 内部的密钥别名
Keystore 密钥密码--keystore-key-password <password>密钥密码。如果密钥/存储密码匹配,则只需提供一个请参见下面的说明
Keystore 密钥密码--keystore-store-password <password>密钥密码。如果密钥/存储密码匹配,则只需提供一个请参见下面的说明
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别名”的部分

如果您已经遵循了 手动构建指南__CAPGO_KEEP_0__

Google Play 服务账号

Google Play 服务账号

生成 Google Play 服务账号是一个手动且复杂的过程。 请记住以下几点:

。否则,您将无法设置服务账号。 您需要创建一个新的 Google Cloud 项目(与您的 Google Play 账号分开)。 让我们开始吧。

  1. 前往 Google Cloud Console

  2. 点击项目选择器 Google Console 项目选择器

  3. 如果您已经有一个项目,请选择它。否则,请创建一个新项目:

    1. 点击 New project Google Console 中的新项目按钮
    2. 为您的项目命名并点击 Create 项目命名屏幕显示名称字段和创建按钮
    3. __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
  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 选项卡 Google Console中的密钥选项卡

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

  10. 点击 JSON and Create 在 Google Console 中的 Create Key 按钮

  11. 被用来后续步骤。 close 下载 JSON 文件 JSON 文件应该已经自动下载。您可以点击 关闭窗口。

授予 Play Store API 访问服务帐户

授予 Play Store API 访问服务帐户

新创建的服务帐户尚未获得 Play Store API 访问权限。要授予它,请前往 Google Play Console。

  1. 前往 Google Play 控制台
  2. 选择正确的开发者帐户 Google Play 控制台选择正确的开发者帐户
  3. 点击 Users and permissions Google Play 控制台用户和权限
  4. 点击 Invite new users Google Play 控制台邀请新用户
  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

CI/CD 设置 (GitHub Actions)

CI/CD 设置 (GitHub Actions)

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

1) 将凭据文件转换为单行base64

标题: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

2) 创建仓库密钥

标题:2) 创建仓库密钥

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

密钥名称
CAPGO_TOKEN您的 Capgo API 令牌
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工作流中使用环境变量

标题为“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 }}

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

运行:

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

这将启动构建过程

继续从Android Builds

标题:继续从Android Builds

如果您正在使用 Android 构建 为了计划 CI/CD 自动化,连接它与 Capgo CI/CD 为产品工作流程在 Capgo CI/CD 中 Capgo 原生构建 为产品工作流程在 Capgo 原生构建中 Capgo 集成 为产品工作流程在 Capgo 集成中 CI/CD 集成 为 CI/CD 集成的实现细节 GitHub 动作集成 为 GitHub 动作集成的实现细节