Android 构建
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
使用 Capgo 的专用基础设施构建并提交 Android 应用至 Google Play Store。
学习内容
章节标题:“你将学到什么”- 你将学习如何通过 Capgo Native Build 上传你的 App
- 您将学习如何配置 Capgo Native Build 的凭据
前提条件
“前提条件”章节- 您需要一个有效的 Google 开发者账号
- 您需要安装 Android Studio
- 您的应用必须能够通过 Android Studio 成功构建
首次手动构建
章节标题:“首次手动构建”在开始使用 Capgo 构建应用之前,我们应先完成初始配置,并手动执行一次 Android 构建。 先进行手动构建有以下优势:
- 为后续的 Capgo 构建准备好凭据
- 在 Play Store Console 中创建应用记录
使用 Android Studio 手动构建应用
使用 Android Studio 手动构建应用在开始使用 Capgo 构建应用之前,我们需要先使用 Android Studio 手动构建应用。
-
打开 Android Studio
运行
bunx cap open android以打开 Android Studio 项目。 -
点击
Build->Generate Signed App Bundles / APKs
-
选择
Android App Bundle并点击Next
创建 Keystore
标题为“创建 Keystore”的部分目前你缺少 keystore 文件。该文件用于为你的 App 签名,以便 Google 确认该 App 是由你构建的。 我们将使用 Android Studio 提供的 GUI 方法来生成它。 虽然也可以通过命令行完成,但本教程暂不涉及。
-
点击
Create new
-
填写 Key Store 路径

-
设置 Key Store 密码

-
填写表单的其余部分
- Key Alias 保持不变 (key0)
- 填写证书详情。我填的是假信息,但你需要填写自己的信息。

-
点击
OK
完成手动构建
标题为“完成手动构建”的章节-
请确保已正确填写所有 keystore 详细信息,然后单击
Next
-
选择
release构建变体,然后单击Create
-
构建成功后,您应看到以下界面

- 此弹窗表示构建已成功。
- 点击
locate按钮 - 这将打开文件资源管理器,你应该能在其中看到构建产物。
-
确保你能在文件资源管理器中看到构建产物

在 Play Store Console 中创建应用
标题为“在 Play Store 控制台中创建应用”的章节-
选择正确的开发者账户

-
点击
Create app
-
选择应用名称和语言

-
选择应用类别,并确定应用是付费还是免费

-
接受条款和条件

-
点击
Create
创建内部测试组
标题为“创建内部测试组”的章节应用创建完成后,您可以创建一个内部测试组。由于我不会将应用正式发布到 Play Store 供所有人使用,因此需要创建一个内部测试组。
-
前往
internal testing点击Test and release->Testing->Internal testing
-
点击
Testers
-
点击
Create email list
-
给邮件列表命名

-
添加测试人员的邮箱地址

-
按下
Enter并点击Save
-
点击
Create group
-
确保已选中新列表并点击
Save
将应用上传到内部测试组
“将 App 上传到内部测试组”章节既然你已创建内部测试组,现在就可以将 App 上传到该测试组。
-
前往
Test and release->Testing->Internal testing
-
点击
Releases按钮
-
点击
Create new release
-
点击
Upload
-
选择 AAB 文件

-
等待 AAB 文件上传完成
-
点击
Next
-
修复错误
我个人在这个阶段看到的是这个错误

这是因为我还没有验证手机号码。我先完成验证,然后继续本教程。
-
点击
Save and publish这将把应用发布到内部测试组。
-
确认发布

-
确保应用已发布

-
获取您的临时应用名称

接受内部测试组邀请
标题为“接受内部测试组邀请”的章节现在,你已将应用上传到内部测试组,可以接受内部测试组的邀请了。
-
前往
Test and release->Testing->Internal testing
-
点击
Testers
-
点击
Copy link
-
把链接发送到手机上,在浏览器中打开并点击
Accept
-
确认已接受邀请,然后点击“在 Play Store 中下载”

-
安装应用
- 如果你之前用 Android Studio 安装过该应用,请点击
uninstall按钮
- 点击
install按钮
- 打开应用并确认已成功下载
- 如果你之前用 Android Studio 安装过该应用,请点击
配置 Capgo Native Build (Android)
标题为“配置 Capgo Native Build (Android)”的章节现在,您可以开始配置 Capgo Native Build 了。恭喜 🎉!
| 要求 | 参数 | 描述 | 必填 |
|---|---|---|---|
| Keystore 文件 | --keystore <path> | 您的 .jks/.keystore 文件路径,用于对 APK/AAB 进行签名。 | 是 |
| Keystore 别名 | --keystore-alias <alias> | 密钥库中密钥的别名。 | 是 |
| Keystore 密钥密码 | --keystore-key-password <password> | 密钥的密码。如果密钥密码与 keystore 密码相同,只需提供一个。 | 请查看下方说明 |
| Keystore 存储密码 | --keystore-store-password <password> | Keystore 的密码。如果密钥密码与 keystore 密码相同,只需提供一个。 | 请查看下方说明 |
| 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.jsonKeystore、keystore 密码、key 密码、keystore alias
标题为“Keystore、keystore 密码、keystore 密钥密码、keystore 别名”的章节如果您已遵循 手动构建说明,您应该已经生成了 keystore。 如果您尚未遵循说明,请按照说明生成 keystore。
Google Play 服务账号
标题为“Google Play 服务账号”的章节生成 Google Play 服务账号是一个手动且复杂的过程。 但要将应用上传到 Google Play,这一步必不可少。请注意以下几点:
- 您 需要 成为 开发者账号的所有者。否则,你将无法配置服务账号。
- 你需要创建一个新的 Google Cloud Project(需与你的 Google Play 账号分开)
我们开始吧。
-
点击项目选择器

-
如果你已有项目,请直接选择。否则,请创建一个新项目:
- 点击
New project
- 输入项目名称并点击
Create
- 确保你在正确的项目中

- 点击
-
点击搜索栏并搜索
service accounts并点击它
-
点击
Create service account
-
填写服务账号表单并点击
Done- 建议将名称设置为
Capgo Native Build Service Account - 对于 Service Account ID,建议设置为
capgo-native-build-service-acc - 描述可以不填,但我建议填写
Allows Capgo Native Build to build and submit the app to the Play Store

- 建议将名称设置为
-
点击新创建的服务账号 你现在应该能在列表中看到新创建的服务账号。点击它。

-
点击
Keys选项卡
-
点击
Add Key以及Create new key
-
点击
JSON以及Create
-
下载 JSON 文件 JSON 文件应已自动下载。您可以点击
close关闭窗口。
授予服务账号 Play Store API 权限
“授予 Play Store API 服务账号访问权限”部分新创建的服务账号尚无权访问 Play Store API。要授予权限,请前往 Play Store Console。
- 前往 Google Play 控制台
- 选择正确的开发者账号

- 点击
Users and permissions
- 点击
Invite new users
- 复制服务账号的邮箱地址

- 前往
Account permissions并授予所需的最低权限:- 在
App permissions,授予其访问您应用的权限。 - 在
Releases,启用Create, edit, and roll out releases. - 如果工作流使用 Play App Signing,请启用相应的签名权限。
- 如果不确定,请使用
Admin仅在设置期间使用,之后减少权限。
- 在
- 点击
Invite user
- 确认邀请

- 确认用户已被邀请

保存凭据
“保存凭据”部分现在您可以保存凭据并运行首次 build。 您可以使用以下命令保存凭据:
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.jsonCI/CD 配置 (GitHub Actions)
“CI/CD 设置(GitHub Actions)”部分如果您已完成 Keystore、keystore 密码、key 密码、keystore alias 以及 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 JSONbase64 -i ./play-store-service-account.json | tr -d '\n' > play_config_base64.txt2) 创建仓库密钥
章节标题:“2) 创建仓库密钥”在 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 别名来源 Keystore、keystore 密码、key 密码、keystore alias |
KEYSTORE_KEY_PASSWORD | Keystore 密钥密码 |
KEYSTORE_STORE_PASSWORD | Keystore 存储密码 |
PLAY_CONFIG_JSON | 内容 play_config_base64.txt |
3) 在 GitHub Actions 工作流中使用环境变量
标题为“3) 在 GitHub Actions 工作流中使用环境变量”的章节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 }}运行构建
标题为“运行构建”的章节恭喜 🎉!现在你可以运行第一次 build 了。
运行:
bunx @capgo/cli@latest build request com.example.app --platform android这将启动构建流程 🍾🥂
提交 Play 版本进行审核
标题为“提交 Play 版本进行审核”的部分默认情况下,Android release build 会上传到 Google Play,并会保持未激活状态,直到你在 Play Console 中完成发布。如果你的 CI 发布流程需要自动提交 Play 版本,请传入 --submit-to-store-review 配合 release build 使用:
npx @capgo/cli@latest build request com.example.app \ --platform android \ --build-mode release \ --submit-to-store-review \ --android-track production \ --store-release-name "1.2.3" \ --store-release-notes "General improvements" \ --store-release-notes-locale "en-US=General improvements" \ --store-release-notes-locale "nl-NL=Algemene verbeteringen" \ --store-release-notes-locale "fr-FR=Ameliorations generales"这需要与常规上传路径相同的 Google Play 服务账号配置(PLAY_CONFIG_JSON 在 CI 中或本地保存的 Android 凭据)。 --store-release-name 用作 Google Play 的 version_name. --store-release-notes 是后备 Play 更新日志,并且每个 --store-release-notes-locale "locale=notes" 条目都会为该语言区域写入本地化的 Play 更新日志。Capgo 会把 Play 发布作为 completed ,除非你覆盖 --android-release-status;如果在 Play Console 中启用了托管发布,Google 在审批通过后仍可能等待你手动发布。
从 Android Builds 继续
标题为“从 Android 构建继续”的章节如果你正在使用 Android 构建 规划 CI/CD 自动化,并将其与 Capgo CI/CD 集成 用于 Capgo CI/CD 中的产品工作流, Capgo Native Build 用于 Capgo Native Builds 中的产品工作流, Capgo 集成 用于 Capgo 集成中的产品工作流, CI/CD 集成 了解 CI/CD 集成的实现细节,以及 GitHub Actions 集成 有关 GitHub Actions 集成的实现细节。