⚠️ 首先设置 Android 凭证
必需: 在构建发布版应用之前,您必须保存 Android 凭证。
使用 Capgo 的安全云基础设施构建 Android 应用并提交至 Google Play 商店。
⚠️ 首先设置 Android 凭证
必需: 在构建发布版应用之前,您必须保存 Android 凭证。
Android 构建在安全的 Cloudflare 沙箱中运行:
在为 Android 构建之前,您需要:
npx cap open android 构建对于发布版本构建,您需要签名密钥库:
| 构建类型 | 需要密钥库 | 用途 |
|---|---|---|
| Debug | 否 | 仅用于测试,自动生成 |
| Release | 是 | Play 商店提交 |
如果您还没有密钥库,请创建一个:
keytool -genkey -v \ -keystore my-release-key.keystore \ -alias my-key-alias \ -keyalg RSA \ -keysize 2048 \ -validity 10000回答提示:
创建密钥库时,您需要记住:
KEYSTORE_STORE_PASSWORD): 密钥库文件本身的密码KEYSTORE_KEY_ALIAS): 密钥库中签名密钥的名称/标识符KEYSTORE_KEY_PASSWORD): 特定密钥的密码(可以与存储密码相同)示例工作流程:
# 列出密钥库中的别名以验证keytool -list -keystore my-release-key.keystore
# 查看有关您的密钥的详细信息keytool -list -v -keystore my-release-key.keystore -alias my-key-alias对于发布版本构建,设置这些凭证:
# Android 签名(发布版本必需)ANDROID_KEYSTORE_FILE="<base64编码的密钥库>"KEYSTORE_KEY_ALIAS="my-key-alias"KEYSTORE_KEY_PASSWORD="<密钥密码>"KEYSTORE_STORE_PASSWORD="<存储密码>"
# Play 商店发布(可选,用于自动提交)PLAY_CONFIG_JSON="<base64编码的服务账户json>"密钥库文件:
base64 -i my-release-key.keystore | pbcopyPlay 商店服务账户 JSON:
base64 -i play-store-service-account.json | pbcopybase64 字符串现在在您的剪贴板中。
要启用自动 Play 商店上传,您需要创建具有适当权限的 Google Cloud 服务账户。
在 Google Cloud 中创建服务账户
创建 JSON 密钥
在 Play Console 中授予权限
接受邀请
非常适合无需签名的测试:
npx @capgo/cli@latest build com.example.app \ --platform android \ --build-mode debug这会创建一个可以安装在任何设备上进行测试的 debug APK。
用于 Play 商店提交:
npx @capgo/cli@latest build com.example.app \ --platform android \ --build-mode release需要将签名凭证配置为环境变量。
name: Build Android App
on: push: branches: [main]
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6
- name: Setup Node.js uses: actions/setup-node@v6 with: node-version: '24'
- name: Install dependencies run: npm ci
- name: Build web assets run: npm run build
- name: Sync Capacitor run: npx cap sync android
- name: Build Android app env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE }} KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_ALIAS }} KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} PLAY_CONFIG_JSON: ${{ secrets.PLAY_STORE_CONFIG }} run: | npx @capgo/cli@latest build ${{ secrets.APP_ID }} \ --platform android \ --build-mode release沙箱初始化 (~5秒)
项目设置 (~20秒)
Gradle 构建 (2-4分钟)
Play 商店上传 (30秒,如果配置)
清理 (立即)
我们的 Android 构建环境包括:
默认情况下,Capgo 构建创建:
典型的 Android 构建时间:
| 构建类型 | 平均时间 |
|---|---|
| Debug | 2-3 分钟 |
| Release (无 ProGuard) | 3-4 分钟 |
| Release (有 ProGuard) | 4-6 分钟 |
如果您的应用有自定义构建变体(例如,staging、production),使用 build-config:
npx @capgo/cli@latest build com.example.app \ --platform android \ --build-mode release \ --build-config '{"variant":"staging"}'这将构建 stagingRelease 变体。
对于具有 flavor 维度的应用:
--build-config '{"flavor":"premium","variant":"production"}'这将构建 premiumProductionRelease 变体。
“Keystore password incorrect”
“Key alias not found”
keytool -list -keystore my-release-key.keystore“Gradle build failed”
./gradlew assembleRelease 构建build.gradle 中“Play Store upload failed”
“Build timeout”
在构建日志中注意这些关键阶段:
→ Downloading dependencies...→ Running Gradle assembleRelease...→ Signing APK/AAB...→ Uploading to Play Store...✔ Build succeeded如果构建失败,日志中将显示具体的 Gradle 错误。
始终确保您的 Android 构建在本地可以工作:
cd android./gradlew assembleRelease# 或./gradlew bundleReleaseCapgo 从您的 capacitor.config.json 读取版本:
{ "appId": "com.example.app", "appName": "My App", "version": "1.0.0", "build": "1"}为每个版本递增 build 编号。
对于发布版本构建,确保 ProGuard 规则配置正确:
-keep class com.getcapacitor.** { *; }-keep @com.getcapacitor.annotation.CapacitorPlugin public class * { @com.getcapacitor.annotation.PluginMethod public <methods>;}密切关注 APK/AAB 大小以确保其经过优化:
CLI 显示最终大小:→ APK size: 12.4 MB如果您的应用很大(>50 MB),考虑:
配置了 PLAY_CONFIG_JSON 后,构建会自动上传到 Play Console 的内部测试轨道。
如果您喜欢手动提交: