⚠️ Configurez d'abord les identifiants Android
Requis : Vous devez enregistrer vos identifiants Android avant de compiler des applications de production.
Compilez et soumettez des applications Android au Google Play Store en utilisant l’infrastructure cloud sécurisée de Capgo.
⚠️ Configurez d'abord les identifiants Android
Requis : Vous devez enregistrer vos identifiants Android avant de compiler des applications de production.
Les builds Android s’exécutent dans des bacs à sable Cloudflare sécurisés :
Avant de compiler pour Android, vous avez besoin de :
npx cap open androidPour les builds de production, vous avez besoin d’un keystore de signature :
| Type de build | Keystore requis | Objectif |
|---|---|---|
| Debug | Non | Tests uniquement, généré automatiquement |
| Release | Oui | Soumission au Play Store |
Si vous n’avez pas encore de keystore, créez-en un :
keytool -genkey -v \ -keystore my-release-key.keystore \ -alias my-key-alias \ -keyalg RSA \ -keysize 2048 \ -validity 10000Répondez aux questions :
Lors de la création d’un keystore, vous devrez vous souvenir de :
KEYSTORE_STORE_PASSWORD) : Le mot de passe du fichier keystore lui-mêmeKEYSTORE_KEY_ALIAS) : Le nom/identifiant de votre clé de signature dans le keystoreKEYSTORE_KEY_PASSWORD) : Le mot de passe de la clé spécifique (peut être le même que le mot de passe du magasin)Exemple de flux de travail :
# Lister les alias dans votre keystore pour vérifierkeytool -list -keystore my-release-key.keystore
# Afficher des informations détaillées sur votre clékeytool -list -v -keystore my-release-key.keystore -alias my-key-aliasPour les builds de production, définissez ces identifiants :
# Signature Android (requis pour la production)ANDROID_KEYSTORE_FILE="<keystore-encodé-en-base64>"KEYSTORE_KEY_ALIAS="my-key-alias"KEYSTORE_KEY_PASSWORD="<mot-de-passe-de-la-clé>"KEYSTORE_STORE_PASSWORD="<mot-de-passe-du-magasin>"
# Publication sur le Play Store (optionnel, pour la soumission automatique)PLAY_CONFIG_JSON="<json-du-compte-de-service-encodé-en-base64>"Fichier keystore :
base64 -i my-release-key.keystore | pbcopyJSON du compte de service Play Store :
base64 -i play-store-service-account.json | pbcopyLa chaîne base64 est maintenant dans votre presse-papiers.
Pour activer les téléversements automatiques vers le Play Store, vous devez créer un compte de service Google Cloud avec les permissions appropriées.
Créer un compte de service dans Google Cloud
Créer une clé JSON
Accorder les permissions dans la Play Console
Accepter l’invitation
Parfait pour les tests sans signature :
npx @capgo/cli@latest build com.example.app \ --platform android \ --build-mode debugCela crée un APK de débogage qui peut être installé sur n’importe quel appareil pour les tests.
Pour la soumission au Play Store :
npx @capgo/cli@latest build com.example.app \ --platform android \ --build-mode releaseNécessite que les identifiants de signature soient configurés comme variables d’environnement.
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 releaseInitialisation du bac à sable (~5 secondes)
Configuration du projet (~20 secondes)
Build Gradle (2-4 minutes)
Téléversement sur le Play Store (30 secondes, si configuré)
Nettoyage (immédiat)
Notre environnement de build Android inclut :
Par défaut, les builds Capgo créent :
Temps de build Android typiques :
| Type de build | Temps moyen |
|---|---|
| Debug | 2-3 minutes |
| Release (sans ProGuard) | 3-4 minutes |
| Release (avec ProGuard) | 4-6 minutes |
Si votre application a des variantes de build personnalisées (par ex., staging, production), utilisez build-config :
npx @capgo/cli@latest build com.example.app \ --platform android \ --build-mode release \ --build-config '{"variant":"staging"}'Cela compilera la variante stagingRelease.
Pour les applications avec des dimensions de saveur :
--build-config '{"flavor":"premium","variant":"production"}'Cela compile la variante premiumProductionRelease.
“Mot de passe du keystore incorrect”
“Alias de clé introuvable”
keytool -list -keystore my-release-key.keystore“Échec du build Gradle”
./gradlew assembleReleasebuild.gradle“Échec du téléversement sur le Play Store”
“Timeout du build”
Surveillez ces phases clés dans les logs de build :
→ Téléchargement des dépendances...→ Exécution de Gradle assembleRelease...→ Signature APK/AAB...→ Téléversement sur le Play Store...✔ Build réussiSi un build échoue, l’erreur Gradle spécifique sera affichée dans les logs.
Assurez-vous toujours que votre build Android fonctionne localement :
cd android./gradlew assembleRelease# ou./gradlew bundleReleaseCapgo lit la version depuis votre capacitor.config.json :
{ "appId": "com.example.app", "appName": "My App", "version": "1.0.0", "build": "1"}Incrémentez le numéro build pour chaque version.
Pour les builds de production, assurez-vous que les règles ProGuard sont correctement configurées :
-keep class com.getcapacitor.** { *; }-keep @com.getcapacitor.annotation.CapacitorPlugin public class * { @com.getcapacitor.annotation.PluginMethod public <methods>;}Gardez un œil sur la taille APK/AAB pour vous assurer qu’elle est optimisée :
Le CLI affiche la taille finale :→ Taille APK : 12.4 MBSi votre application est volumineuse (>50 MB), considérez :
Avec PLAY_CONFIG_JSON configuré, les builds sont automatiquement téléversés sur le track de test interne de la Play Console.
Si vous préférez la soumission manuelle :