FAQ - Mobile Development
General
¿Qué cambió?
Antes tenías que hacer rebuild completo (5-10 min) por cada cambio. Ahora los cambios se reflejan automáticamente en 2-5 segundos con live reload.
¿Afecta los builds de producción?
No. El comando npm run build:mobile sigue funcionando exactamente igual. Esto solo mejora el desarrollo local.
¿Necesito cambiar mi código?
No. Todo el código existente funciona sin cambios. Solo cambia cómo desarrollas localmente.
¿Funciona con todas las configuraciones?
Sí. Todas las configs en mobile/config/ funcionan igual (auravantbeta, ag, aura, etc.).
Comandos
¿Cuál es el comando principal?
npm run dev:mobile -- --platform=android --config=auravantbeta
¿Cómo veo los dispositivos disponibles?
npm run list:devices
¿Cómo verifico que todo está configurado?
npm run check:setup
¿Puedo usar un dispositivo específico?
Sí:
npm run dev:mobile -- --platform=android --device=emulator-5554
Desarrollo
¿Cómo funciona el live reload?
- Webpack dev server corre en tu IP local (ej:
http://192.168.1.100:8080) - Capacitor configura la app para conectarse a ese servidor
- Cuando guardas un archivo, webpack lo recompila
- La app detecta el cambio y se recarga automáticamente
¿Qué tan rápido es?
- Primera vez: ~30 segundos (setup)
- Cambios subsecuentes: 2-5 segundos (auto-reload)
¿Necesito reiniciar el servidor entre cambios?
No. Mantén el servidor corriendo todo el día. Solo reinicia si:
- Cambias de configuración
- Instalas nuevas dependencias
- Algo se rompe
¿Qué pasa si el auto-reload falla?
Refresh manual:
- Android:
Cmd+M→ Reload - iOS:
Cmd+R
¿Puedo desarrollar para iOS y Android al mismo tiempo?
No en el mismo proceso, pero puedes:
- Iniciar dev server una vez
- Abrir Android Studio y Xcode
- Ambos se conectan al mismo dev server
- Cambios se reflejan en ambos
Configuración
¿Cómo cambio de configuración?
# Detener servidor actual
Ctrl+C
# Iniciar con nueva config
npm run dev:mobile -- --platform=android --config=ag
¿Cuánto tarda cambiar de config?
~30 segundos (mucho más rápido que rebuild completo de 5-10 min).
¿Puedo tener múltiples configs corriendo?
No simultáneamente en el mismo puerto. Pero puedes cambiar rápidamente entre ellas.
Troubleshooting
"Cannot connect to dev server"
Causa: App no puede conectarse al webpack dev server.
Solución:
# 1. Verifica tu IP local
ifconfig | grep "inet " | grep -v 127.0.0.1
# 2. Verifica que webpack está corriendo
curl http://TU_IP:8080
# 3. Verifica firewall (puerto 8080 debe estar abierto)
# 4. Si usas emulador, prueba con localhost
# Edita capacitor.config.json temporalmente:
# "url": "http://localhost:8080"
"App crashes on launch"
Causa: Datos corruptos o config incorrecta.
Solución:
# Limpiar datos de la app
adb shell pm clear com.auravantbeta # Android
xcrun simctl uninstall booted com.auravantbeta # iOS
# Reinstalar
npx cap sync android # o ios
"Changes not reflecting"
Causa: Webpack no está detectando cambios o app no está escuchando.
Solución:
# 1. Verifica consola de webpack por errores
# 2. Refresh manual
Cmd+M → Reload (Android)
Cmd+R (iOS)
# 3. Reinicia dev server
Ctrl+C
npm run dev:mobile -- --platform=android --config=auravantbeta
"Module not found"
Causa: Dependencia nueva no instalada.
Solución:
# Detener servidor
Ctrl+C
# Instalar dependencias
npm install
# Sincronizar
npx cap sync android # o ios
# Reiniciar
npm run dev:mobile -- --platform=android --config=auravantbeta
"Port 8080 already in use"
Causa: Otro proceso usando el puerto.
Solución:
# Encontrar proceso
lsof -i :8080
# Matar proceso
kill -9 <PID>
# O cambiar puerto en webpack.dev.js
"Android Studio/Xcode no abre"
Causa: Comando npx cap open falla.
Solución:
# Abrir manualmente
# Android: Abrir Android Studio → Open → /path/to/project/android
# iOS: Abrir Xcode → Open → /path/to/project/ios/App/App.xcworkspace
Performance
¿Por qué a veces tarda más de 5 segundos?
Posibles causas:
- Primera carga: Webpack compila todo (~30 seg)
- Cambio grande: Muchos archivos modificados
- Red lenta: WiFi inestable
- Memoria baja: Cerrar apps innecesarias
¿Cómo puedo hacerlo más rápido?
Tips:
- Usa SSD (no HDD)
- Cierra apps innecesarias
- Usa cable USB si WiFi es lento
- Reinicia emulador si está lento
- Usa
eval-source-map(ya configurado)
¿Consume mucha batería en dispositivo físico?
Sí, más que la app normal porque:
- Mantiene conexión WiFi activa
- Recarga frecuentemente
- Tiene dev tools habilitados
Recomendación: Usa emulador para desarrollo, dispositivo físico para testing final.
Comparación
¿Cuándo usar dev mode vs build mode?
Dev Mode (npm run dev:mobile):
- ✅ Desarrollo diario
- ✅ Iteración rápida
- ✅ Testing de features
- ✅ Debugging
- ❌ Testing de performance
- ❌ Testing de producción
Build Mode (npm run build:mobile):
- ❌ Desarrollo diario (muy lento)
- ✅ Testing final
- ✅ Testing de performance
- ✅ Builds de producción
- ✅ Deployment
¿Es como Expo?
Sí, similar:
- ✅ Live reload automático
- ✅ Hot module replacement
- ✅ Desarrollo rápido
- ❌ No tiene app standalone (usamos Capacitor)
- ❌ No tiene OTA updates (no es necesario)
Avanzado
¿Puedo personalizar el puerto?
Sí, edita config/webpack.dev.js:
devServer: {
port: 3000 // Cambiar de 8080 a 3000
}
¿Puedo usar HTTPS en dev?
Sí, pero no es recomendado para mobile dev. HTTP es más simple y rápido.
¿Funciona con hot reload de React?
Sí, Hot Module Replacement está habilitado. Cambios en componentes React se reflejan sin perder estado.
¿Puedo debuggear con Chrome DevTools?
Android:
# Abrir chrome://inspect en Chrome
# Seleccionar tu dispositivo
iOS:
# Safari → Develop → Simulator → Tu App
¿Puedo usar Redux DevTools?
Sí, funciona normal. Instala la extensión y conéctate al dev server.
Migración
¿Necesito actualizar mi workflow?
Antes:
npm run build:mobile -- --platform=android
# Abrir Android Studio
# Presionar Play
# Hacer cambio
# Repetir todo
Ahora:
npm run dev:mobile -- --platform=android --config=auravantbeta
# Presionar Play (solo primera vez)
# Hacer cambios → Auto-reload
# Mantener corriendo todo el día
¿Qué pasa con mis scripts existentes?
Todos siguen funcionando:
npm run build:mobile- Sin cambiosnpm run deploy:mobile- Sin cambiosnpm run sync- Sin cambios
Solo se agregaron nuevos comandos:
npm run dev:mobile- Nuevonpm run list:devices- Nuevonpm run check:setup- Nuevo
Soporte
¿Dónde encuentro más información?
- Quick Start: mobile/README.md
- Guía Completa: MOBILE_DEV_GUIDE.md
- Tips: MOBILE_DEV_TIPS.md
- Implementación: MOBILE_DEV_IMPLEMENTATION.md
¿Cómo reporto un bug?
- Ejecuta
npm run check:setup - Revisa la consola de webpack por errores
- Revisa la consola del dispositivo
- Incluye toda esa información en el reporte
¿Puedo contribuir mejoras?
Sí! Los scripts están en mobile/scripts/:
dev.js- Script principallist-devices.js- Listar dispositivoscheck-setup.js- Verificar setup
Preguntas Frecuentes del Equipo
"¿Esto reemplaza Android Studio/Xcode?"
No. Todavía necesitas los IDEs para:
- Configuración inicial
- Cambios en código nativo
- Debugging avanzado
- Builds de producción
"¿Funciona offline?"
No. Necesitas conexión entre tu computadora y el dispositivo/emulador (WiFi o USB).
"¿Puedo usar esto en CI/CD?"
No. Esto es solo para desarrollo local. CI/CD sigue usando npm run build:mobile.
"¿Afecta el tamaño del bundle?"
No. El dev server no está incluido en el build de producción.
"¿Es seguro?"
Sí. Solo funciona en tu red local. No expone nada a internet.
¿No encuentras tu pregunta? Revisa MOBILE_DEV_TIPS.md o MOBILE_DEV_GUIDE.md