Builds de Android
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Compila y envía apps para Android a Google Play Store con la infraestructura dedicada de Capgo.
Lo que aprenderás
Sección titulada “Lo que aprenderás”- Aprenderás a subir tu app mediante Capgo Native build
- Aprenderás a configurar las credenciales para Capgo Native Build
Requisitos
Sección titulada “Prerrequisitos”- Necesitas tener una cuenta activa de Google Developer
- Debes tener instalado Android Studio
- Tu app debe compilar correctamente con Android Studio
La primera build manual
Sección titulada “La primera build manual”Antes de empezar a compilar la app con Capgo, primero debemos configurarlo y realizar una primera build de Android manualmente. Hacer una build manual primero tiene sus ventajas:
- Prepararás las credenciales para la futura build de Capgo
- Crearás un registro en la Play Store Console
Hacer la build de la app manualmente con Android Studio
Sección titulada “Compilar la app manualmente con Android Studio”Antes de empezar a compilar la app con Capgo, necesitamos realizar una build manual con Android Studio.
-
Abrir Android Studio
Ejecuta
bunx cap open androidpara abrir el proyecto de Android Studio. -
Haz clic en
Build->Generate Signed App Bundles / APKs
-
Selecciona
Android App Bundley haz clic enNext
Crear un Keystore
Sección titulada “Creating a Keystore”En este momento, te falta el archivo keystore. Este archivo se usa para firmar tu app, lo que permite que Google sepa que tú eres quien la desarrolló. Para generarlo, usaremos el método de la interfaz gráfica de Android Studio. También existe una forma de hacerlo mediante la línea de comandos, pero no la cubriremos en este tutorial.
-
Haz clic en
Create new
-
Ingresa la ruta del Key Store

-
Configura la contraseña del Key Store

-
Completa el resto del formulario
- Mantén el Key Alias tal cual (key0)
- Completa los detalles del certificado. He usado datos de ejemplo, pero debes usar los tuyos.

-
Haz clic en
OK
Finalizar la build manual
Sección titulada “Finalizar el build manual”-
Asegúrate de que todos los datos del keystore sean correctos y haz clic en
Next
-
Selecciona el
releasebuild variant y haz clic enCreate
-
Una vez finalizado el build, verás la siguiente pantalla

- Este popup indica que el build fue exitoso.
- Haz clic en el
locatebotón: esto abrirá el explorador de archivos y deberías ver el build allí.
-
Asegúrate de que puedes ver el build en el explorador de archivos

Crear la app en Play Store Console
Sección titulada “Creación de la app en Play Store Console”-
Ve a Google Play Console
-
Selecciona la cuenta de desarrollador correcta

-
Haz clic en
Create app
-
Elige el nombre de la app y el idioma

-
Selecciona la categoría de la app y si es de pago o gratuita

-
Acepta los términos y condiciones

-
Haz clic en
Create
Crear el grupo de testing interno
Sección titulada “Creación del grupo de pruebas internas”Ahora que has creado la app, puedes crear un grupo de pruebas internas. Como no voy a publicar la app para todo el mundo en la Play Store, tendré que crear un grupo de pruebas internas.
-
Ve a
internal testingHaz clic enTest and release->Testing->Internal testing
-
Haz clic en
Testers
-
Haz clic en
Create email list
-
Nombre la lista de correos

-
Añada los correos de los testers

-
Presiona
Entery haga clic enSave
-
Haz clic en
Create group
-
Asegúrese de que la nueva lista esté seleccionada y haga clic en
Save
Subir la app al grupo de testing interno
Sección titulada “Subir la app al grupo de pruebas internas”Ahora que has creado el grupo de pruebas internas, puedes subir la app a dicho grupo.
-
Ve a
Test and release->Testing->Internal testing
-
Haz clic en el
Releasesbotón
-
Haz clic en
Create new release
-
Haz clic en
Upload
-
Selecciona el archivo AAB

-
Espera a que se suba el archivo AAB
-
Haz clic en
Next
-
Corrige los errores
En mi caso, en esta etapa veo este error

Esto es porque aún no he verificado mi número de teléfono. Lo haré y continuaré con el tutorial.
-
Haz clic en
Save and publishEsto publicará la app en el grupo de pruebas internas.
-
Confirmar la publicación

-
Asegúrate de que la app esté publicada

-
Obtén el nombre temporal de tu app

Aceptar la invitación al grupo de testing interno
Sección titulada “Aceptar la invitación al grupo de pruebas internas”Ahora que has subido la app al grupo de pruebas internas, puedes aceptar la invitación a ese grupo.
-
Ve a
Test and release->Testing->Internal testing
-
Haz clic en
Testers
-
Haz clic en
Copy link
-
Envía el enlace a tu móvil, ábrelo en el navegador y haz clic en
Accept
-
Confirma que la invitación se aceptó y haz clic en “descargar en Play Store”

-
Instalar la app
- Si ya habías instalado la app antes con Android Studio, haz clic en
uninstallbotón
- Haz clic en el
installbotón
- Abre la app y confirma que se descargó correctamente
- Si ya habías instalado la app antes con Android Studio, haz clic en
Configurar Capgo Native Build (Android)
Sección titulada “Configuración de Capgo Native Build (Android)”¡Ya estás listo para empezar la configuración de Capgo Native Build. Felicidades 🎉!
| Requisito | Flag | Descripción | Obligatorio |
|---|---|---|---|
| Archivo Keystore | --keystore <path> | Ruta de tu .jks/.keystore archivo usado para firmar el APK/AAB. | Sí |
| Alias del Keystore | --keystore-alias <alias> | Nombre del alias de la clave dentro del keystore. | Sí |
| Contraseña de la clave del keystore | --keystore-key-password <password> | Contraseña de la clave. Si la clave y el almacén coinciden, solo necesitas una. | Consulta la nota de abajo |
| Contraseña del almacén Keystore | --keystore-store-password <password> | Contraseña del keystore. Si las contraseñas de la clave y del almacén coinciden, puedes indicar solo una. | Consulta la nota de abajo |
| Cuenta de servicio de Google Play | --play-config <path> | Archivo JSON de la cuenta de servicio para subir a la Play Store. | Sí |
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, password del keystore, password de la clave del keystore, alias del keystore
Sección titulada “Keystore, keystore password, keystore key password, keystore alias”Si has seguido las instrucciones de manual build, ya deberías tener la keystore generada. Si no has seguido las instrucciones, por favor síguelas para generar la keystore.
Cuenta de servicio de Google Play
Sección titulada “Google Play service account”Generar la Google Play service account es un proceso manual y complejo. Sin embargo, es necesario para subir tu app a Google Play. Ten en cuenta lo siguiente:
- Usted DEBES ser el propietario de la cuenta de desarrollador. De lo contrario, no podrás configurar la cuenta de servicio.
- Tendrás que crear un nuevo proyecto en Google Cloud (independiente de tu cuenta de Google Play)
Empecemos.
-
Haz clic en el selector de proyectos

-
Si ya tienes un proyecto, selecciónalo. Si no, crea uno nuevo:
- Haz clic en
New project
- Nombra tu proyecto y haz clic en
Create
- Asegúrate de estar en el proyecto correcto

- Haz clic en
-
Haz clic en la barra de búsqueda y busca
service accountsy haz clic en él
-
Haz clic en
Create service account
-
Completa el formulario de la cuenta de servicio y haz clic en
Done- Recomiendo poner como nombre
Capgo Native Build Service Account - Para el Service Account ID, recomiendo usar
capgo-native-build-service-acc - En cuanto a la descripción, no es obligatorio, pero recomiendo poner
Allows Capgo Native Build to build and submit the app to the Play Store

- Recomiendo poner como nombre
-
Haz clic en la cuenta de servicio recién creada Ahora deberías ver la cuenta de servicio en la lista. Haz clic en ella.

-
Haz clic en el
Keyspestaña
-
Haz clic en
Add KeyyCreate new key
-
Haz clic en
JSONyCreate
-
Descargar el archivo JSON El archivo JSON debería haberse descargado automáticamente. Puedes hacer clic en
closepara cerrar la ventana.
Conceder a la cuenta de servicio acceso a API de Play Store
Sección titulada “Otorgar a la cuenta de servicio acceso a API de Play Store”La cuenta de servicio recién creada aún no tiene acceso a API de Play Store. Para otorgarlo, ve a la Play Store Console.
- Ve a Google Play Console
- Selecciona la cuenta de desarrollador correcta

- Haz clic en
Users and permissions
- Haz clic en
Invite new users
- Copia el email de la cuenta de servicio

- Ve a
Account permissionsy otorga los permisos mínimos necesarios:- En
App permissions, otorga acceso a tu app. - En
Releases, habilitaCreate, edit, and roll out releases. - Si tu flujo de trabajo usa Play App Signing, habilita el permiso de firma correspondiente.
- Si no estás seguro, usa
Adminsolo durante la configuración y luego reduce los permisos.
- En
- Haz clic en
Invite user
- Confirmar la invitación

- Confirma que el usuario ha sido invitado

Guardando las credenciales
Sección: “Guardar las credenciales”Ya puedes guardar las credenciales y ejecutar tu primer build. Usa el siguiente comando para guardarlas:
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.jsonConfiguración de CI/CD (GitHub Actions)
Sección titulada “Configuración de CI/CD (GitHub Actions)”Si ya has completado Keystore, password del keystore, password de la clave del keystore, alias del keystore y Cuenta de servicio de Google Play, ya tienes todo lo necesario para CI/CD. Esta sección solo explica cómo pasar esos valores como secrets de GitHub Actions y variables de entorno.
1) Convertir archivos de credenciales a base64 en una sola línea
Sección titulada “1) Convertir archivos de credenciales a base64 de una sola línea”# 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) Crear secretos del repositorio
Sección titulada “2) Crear secretos del repositorio”En GitHub > Repository > Settings > Secrets and variables > Actions, añade:
| Nombre del secreto | Valor |
|---|---|
CAPGO_TOKEN | Tu token de Capgo API |
APP_ID | Tu ID de app Capgo (ejemplo: com.example.app) |
ANDROID_KEYSTORE_FILE | Contenido de keystore_base64.txt |
KEYSTORE_KEY_ALIAS | Alias de Keystore de Keystore, password del keystore, password de la clave del keystore, alias del keystore |
KEYSTORE_KEY_PASSWORD | Contraseña de la clave del keystore |
KEYSTORE_STORE_PASSWORD | Contraseña del almacén Keystore |
PLAY_CONFIG_JSON | Contenido de play_config_base64.txt |
3) Usa variables de entorno en tu workflow de GitHub Actions
Sección titulada “3) Usa variables de entorno en tu workflow de 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 }}Ejecutar el build
Sección titulada “Ejecutar el build”¡Felicidades 🎉! Ya puedes ejecutar tu primer build.
Ejecuta:
bunx @capgo/cli@latest build request com.example.app --platform androidY esto iniciará el proceso de build 🍾🥂
Envía la versión de Play a revisión
Sección titulada “Enviar la versión de Play para revisión”Por defecto, los builds de release para Android se suben a Google Play y pueden permanecer inactivos hasta que completes la versión en Play Console. Si tu release de CI debe enviar la versión de Play automáticamente, pasa --submit-to-store-review con un build de release:
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"Esto requiere la misma configuración de la cuenta de servicio de Google Play que la ruta de upload normal (PLAY_CONFIG_JSON en CI o credenciales de Android guardadas localmente). --store-release-name se usa como el Google Play version_name. --store-release-notes es el changelog de fallback de Play, y cada --store-release-notes-locale "locale=notes" entry escribe un changelog de Play localizado para ese idioma. Capgo envía el release de Play como completed a menos que lo sobrescribas --android-release-status; si la publicación gestionada está activa en Play Console, Google puede esperar a que publiques manualmente tras la aprobación.
Continuar desde Android Builds
Sección titulada “Continuar desde Android Builds”Si estás usando Builds de Android para planificar la automatización de CI/CD, conéctalo con CI/CD de Capgo para el flujo de trabajo del producto en Capgo CI/CD, Native Builds de Capgo para el flujo de trabajo del producto en Capgo Native Builds, Integraciones de Capgo para el flujo de trabajo del producto en Capgo Integraciones, Integración CI/CD para los detalles de implementación de CI/CD Integration, y Integración con GitHub Actions para los detalles de implementación de GitHub Actions Integration.