跳过内容

安卓构建

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

你将学到什么

标题:你将学到什么
  • 你将学习如何通过Capgo Native build上传你的应用
  • 你将学习如何配置Capgo Native Build的凭证
  • 你需要有一个激活的Google开发者账户
  • 你需要安装Android Studio
  • 你的应用必须能够在Android Studio中成功构建

第一个手动构建

标题:第一个手动构建

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

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

手动使用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

创建密钥库

创建密钥库

目前,您缺少密钥库文件。该文件用于签署您的应用程序,使Google知道是您开发了该应用程序。 要生成它,我们将使用Android Studio提供的GUI方法。 也可以使用命令行来实现,但本教程中不会涵盖此方法。

  1. 点击 Create new 使用Android Studio创建新密钥库

  2. 填写密钥库路径 使用Android Studio填写密钥库路径

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

  4. 填写表单的其余部分

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

    Android Studio 填写剩余的表单

  5. 点击 OK Android Studio 点击 OK

完成手动构建

标题:完成手动构建
  1. 确保所有 keystore 详情都已正确填写,并点击 Next Android Studio 确保所有 keystore 详情都已正确填写

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

  3. Section titled “Finishing the manual build” Android Studio 构建成功后

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

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

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

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

  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 按 Enter 并点击保存

  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. 确认邀请已被接受,点击“在Google Play商店下载” Google Play Console下载在Google Play商店

  6. 安装应用

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

配置Capgo原生构建(Android)

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

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

要求标志描述必填
存储库文件--keystore <path>您的存储库文件路径 .jks/.keystore 用于签署 APK/AAB 文件的文件。
Keystore 别名--keystore-alias <alias>密钥内 Keystore 的别名。
Keystore 密钥密码--keystore-key-password <password>密钥密码。如果密钥/存储密码匹配,则只需提供一个。查看下面的注释
Keystore 存储密码--keystore-store-password <password>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.json

密钥库、密钥库密码、密钥库密钥密码、密钥库别名 如果您已经遵循了手动构建指南您应该已经生成了keystore文件。 如果您没有遵循指示,请按照指示生成keystore文件。

Google Play服务账户

标题:Google Play服务账户

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

  • context HTML text fragment from a longer Capgo UI string (parent key `you_definition`). Page/area: Capgo marketing website. Role: Long marketing or legal paragraph. Seen in: page disclaimer.astro, page return.astro. Message key `you_definition` (You Definition). 需要成为
  • 开发者账户的

。否则,您将无法设置服务账户。

  1. 您需要创建一个新的Google Cloud项目(与您的Google Play账户分开) Google Cloud Console

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

  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 标签 在 Google Console 中的

  9. 标签 Add Key 点击 Create new key 并

  10. 在 Google Console 中添加密钥并创建新密钥 JSON 点击 Create Google Console 中的创建密钥按钮

  11. 下载 JSON 文件 JSON 文件应该已经自动下载了。您可以点击 close 关闭窗口 Google Console 下载密钥

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

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

如果您已经完成 密钥库、密钥库密码、密钥库密钥密码、密钥库别名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 token
APP_ID您的 Capgo 应用程序 ID(示例: com.example.app)
ANDROID_KEYSTORE_FILE内容 keystore_base64.txt
KEYSTORE_KEY_ALIAS从密钥库获取的别名 密钥库、密钥库密码、密钥库密钥密码、密钥库别名
KEYSTORE_KEY_PASSWORD密钥库密钥密码
KEYSTORE_STORE_PASSWORDKeystore store 密码
PLAY_CONFIG_JSON内容 play_config_base64.txt

3) Use env vars in your GitHub Actions workflow

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

这将启动构建过程

提交Play发行版审查

标题:提交Play发行版审查

默认情况下,Android发行版构建将上传到Google Play并保持不活跃,直到您在Play控制台完成发行。如果您的CI发行版应自动提交Play发行版,请传递 --submit-to-store-review with a 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控制台启用了管理发布,Google仍然可以等待您的手动发布后审批.

继续从Android Builds

标题:继续从Android Builds

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