APK vs AAB — ¿cuál necesitas realmente?
Antes de convertir, aclara el objetivo. Un APK y un AAB no son intercambiables — cada uno tiene un caso de uso específico.
| Formato | Caso de uso | ¿Instalable directamente? |
|---|---|---|
| .apk | Sideloading, Amazon Appstore, Samsung Galaxy Store, pruebas en dispositivo | Sí |
| .aab | Google Play Console (requerido desde ago. 2021) — Play genera APKs optimizados por dispositivo | No (solo Play Store) |
SaasToStore genera ambos formatos desde un solo build. Recibes el .apk y el .aab en el mismo email.
Método 1: Trusted Web Activity (TWA) — el camino recomendado por Google
Una Trusted Web Activity envuelve tu PWA dentro de Chrome en Android. La app ejecuta tu URL web real — sin duplicación de código, sin base de código móvil separada. Es el método que Google documenta oficialmente para publicar PWAs en Google Play, y produce la app Android más pequeña posible (a menudo menos de 1 MB).
Requisitos para un build TWA
- HTTPS — obligatorio. Las URLs HTTP son rechazadas por el runtime de TWA
- Web manifest — debe incluir
name,start_url,display: "standalone",theme_colore iconos ≥ 512×512 - Service worker — muy recomendado. Controla el comportamiento offline y califica para el requisito de funcionalidad mínima de Google Play
- Digital Asset Links — SaasToStore los configura automáticamente a través del archivo
/.well-known/assetlinks.json - Puntuación PWA ≥ 70 — verificada por Lighthouse o el verificador integrado de SaasToStore
Limitaciones de TWA que debes conocer
- La app requiere que Chrome esté instalado en el dispositivo (lo está en el 99 % de los teléfonos Android)
- La barra de navegación (barra de URL) solo se oculta cuando los Digital Asset Links están correctamente verificados
- Sin acceso a APIs nativas de Android que vayan más allá de lo que el navegador expone a través del estándar PWA
- El tamaño de la app depende del motor de renderizado de Chrome, no del código empaquetado — el inicio es instantáneo
Método 2: Capacitor — cuando tu PWA no tiene service worker
Capacitor (de Ionic) envuelve tu web app en un componente WebView nativo. A diferencia de un WebView puro, Capacitor genera una app Android correctamente firmada y conforme a las políticas que pasa la revisión de funcionalidad mínima de Google Play. No requiere service worker, lo que lo convierte en el fallback para apps Bubble, sitios Webflow sin soporte SW y cualquier URL con puntuación inferior a 70.
Cuándo elegir Capacitor sobre TWA
TWA vs Capacitor — comparación lado a lado
| Característica | TWA | Capacitor |
|---|---|---|
| Requiere service worker | Sí (recomendado) | No |
| Puntuación PWA mínima | ≥ 70 | Ninguna |
| Tamaño del archivo app | ~800 KB | ~4 MB |
| APIs nativas Android | Solo vía APIs del navegador | Vía plugins (cámara, GPS, etc.) |
| Riesgo de rechazo Play Store | Muy bajo (método oficial) | Bajo (WebView conforme a políticas) |
| Funciona en Bubble / Softr / Framer | Depende del service worker | Sí, siempre |
| Modo offline | Control SW completo | Cache fallback |
PWA a APK en 5 minutos — paso a paso
SaasToStore ejecuta ambos pipelines en el servidor. No instalas nada localmente.
Verificar tu puntuación PWA (gratis, sin cuenta)
Ve a la página principal de SaasToStore y pega tu URL. El verificador ejecuta una auditoría equivalente a Lighthouse en ~10 segundos: HTTPS, completitud del manifest, service worker, tamaños de iconos. Verás tu puntuación y el tipo de build recomendado.
Crear un proyecto y configurar la identidad de tu app
Inicia sesión, crea un nuevo proyecto, confirma la URL. Establece tu nombre de app (mostrado en Play Store, máx. 30 caracteres), ID de paquete (ej. com.tuempresa.app — no se puede cambiar tras la primera publicación) y el código de versión inicial (empieza en 1).
Subir tu icono de 512×512
PNG, cuadrado, sin esquinas redondeadas (Android gestiona la máscara). Si no tienes uno, el generador de IA de SaasToStore crea un icono a partir de una descripción de texto en menos de 30 segundos.
Seleccionar TWA o Capacitor, lanzar el build
El verificador recomienda automáticamente. Puedes cambiar. Haz clic en «Lanzar Build». El pipeline corre en el servidor de SaasToStore — análisis del manifest, generación del keystore, compilación, firma del APK. Sin cola.
Recibir tu .apk y .aab por email
El build se completa en 2–5 minutos. Recibes un email con tres adjuntos: el .aab firmado (para Google Play), el .apk firmado (para sideload/stores alternativos) y el archivo keystore cifrado (guárdalo — lo necesitarás para cada actualización).
Lista de verificación de preparación PWA antes de convertir
Ejecuta esta lista en las DevTools de tu navegador (pestaña Lighthouse) o con el verificador gratuito de SaasToStore:
- ✓Sitio servido sobre HTTPS con certificado válido
- ✓manifest.json enlazado en <head> con name, start_url, display: standalone
- ✓Al menos un icono ≥ 512×512 PNG en el manifest
- ✓theme_color definido (usado para el color de la barra de herramientas Android)
- ✓Service worker registrado y controlando el scope (pestaña Application → Service Workers)
- ✓Página de fallback offline (o al menos una estrategia cache-first)
- ✓App carga en < 5 segundos en una conexión 4G
- ✓Sin contenido mixto (recursos HTTP en páginas HTTPS)
Errores comunes y cómo solucionarlos
Error: «App rechazada — funcionalidad mínima (política 4.3)»
Causa: WebView puro sin service worker ni funcionalidades PWA significativas. Solución: Usa el modo TWA de SaasToStore con un manifest validado y service worker. El modo Capacitor de SaasToStore también supera la 4.3 por diseño.
Error: «Verificación de Digital Asset Links fallida»
Causa: El archivo assetlinks.json falta o la huella SHA-256 no coincide con el build. Solución: SaasToStore genera y aloja el assetlinks.json automáticamente — o proporciona el contenido exacto para añadir a tu directorio /.well-known/.
Error: «keystore no encontrado en la actualización»
Causa: Reconstrucción con un nuevo keystore. Solución: Usa siempre el mismo proyecto SaasToStore para las actualizaciones. El keystore original se cifra, almacena y reutiliza automáticamente en cada reconstrucción. Un nuevo keystore = Google Play rechaza la actualización.
Advertencia: «Chrome no instalado» en el dispositivo
Contexto: TWA requiere Chrome. En el 99 % de los dispositivos Android viene preinstalado. Si apuntas a un dispositivo OEM específico que excluye Chrome (raro, solo enterprise), usa el modo Capacitor.
Distribuyendo tu APK más allá de Google Play
El .apk firmado que recibes funciona en cualquier canal de distribución Android:
- Amazon Appstore — cuenta gratuita, subida de APK, revisión en ~24 h. Más de 170M usuarios de Fire TV + tablet
- Samsung Galaxy Store — cuenta gratuita, subida de APK. Preinstalado en todos los dispositivos Android Samsung
- Sideload directo — comparte el archivo .apk mediante enlace, código QR o email. Los usuarios habilitan «instalar desde fuentes desconocidas» una sola vez
- MDM Empresarial — distribuye el APK a través de herramientas de gestión de dispositivos móviles para distribución interna