Build Ionic React para Android (Guía Única)
Guía completa (Probada en debian 13), en un solo archivo, para generar APK/AAB de una app Ionic React e instalarla en un teléfono Android.
1. Requisitos (una sola vez)
Instalar:
Node.js LTS
Java JDK 17
Android Studio (SDK, Platform Tools, Build Tools)
Ionic CLI y Capacitor
Verificar:
node -v
npm -v
java -version
adb version
Instalar Ionic CLI:
npm install -g @ionic/cli
2. Preparar el proyecto Ionic React
Desde la raíz del proyecto:
npm install
ionic build
Esto genera la carpeta build/ (obligatoria para Android).
3. Agregar plataforma Android
Si es la primera vez:
ionic cap add android
Si Android ya existe:
ionic cap sync android
4. Abrir proyecto nativo
ionic cap open android
Esperar a que Android Studio termine:
Gradle Sync
Descarga de dependencias
5. Conectar teléfono Android
En el teléfono:
Ajustes → Información del teléfono
Tocar 7 veces Número de compilación
Activar Opciones de desarrollador
Activar Depuración USB
Conectar por USB y aceptar permisos.
Verificar conexión:
adb devices
Debe aparecer el dispositivo como device.
6. Ejecutar en el teléfono (modo debug)
Desde la raíz del proyecto:
ionic cap run android --device
Alternativa:
Ejecutar desde Android Studio (Run ▶)
7. Generar APK
7.1 APK Debug (pruebas)
cd android
./gradlew assembleDebug
Salida:
android/app/build/outputs/apk/debug/app-debug.apk
7.2 APK Release (recomendado)
cd android
./gradlew assembleRelease
Salida:
android/app/build/outputs/apk/release/app-release.apk
Nota: Sin firmar (solo pruebas locales).
8. Generar AAB (Google Play)
cd android
./gradlew bundleRelease
Salida:
android/app/build/outputs/bundle/release/app-release.aab
9. Firmar APK / AAB (producción)
9.1 Crear keystore
keytool -genkeypair -v \
-keystore my-release-key.keystore \
-alias my-key-alias \
-keyalg RSA \
-keysize 2048 \
-validity 10000
9.2 Configurar Gradle
Archivo:
android/app/build.gradle
Agregar:
android {
signingConfigs {
release {
storeFile file('my-release-key.keystore')
storePassword 'TU_PASSWORD'
keyAlias 'my-key-alias'
keyPassword 'TU_PASSWORD'
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Luego:
./gradlew assembleRelease
10. Problemas comunes
| Problema | Solución |
|---|---|
| Pantalla blanca | Ejecutar ionic build antes de sync |
| No instala | APK sin firmar |
| WebView falla | Revisar configuración Capacitor |
| Android 14/15 | Usar WebView actualizado |
| ERR_CACHE_MISS | Desactivar cache en WebView |
11. Resumen rápido
npm install
ionic build
ionic cap sync android
ionic cap open android
./gradlew assembleRelease
Este flujo genera un APK funcional para instalar en un teléfono Android.