Saltar al contenido principal

MOBILE_DEV_SHORTCUTS

Ver en Git


🎮 Shortcuts y Configuración - Mobile Development

🚨 Problema: Conflictos de Shortcuts​

Android Studio y el emulador tienen shortcuts que pueden interferir con el desarrollo. Esta guía te ayuda a configurar todo correctamente.


✅ Solución Recomendada: Usar Terminal​

Método 1: R+R en Terminal (Más Rápido)​

Cuando el dev server está corriendo, simplemente presiona R dos veces rápido en la terminal:

npm run dev:mobile -- --platform=android --config=auravantbeta

# Mientras corre, presiona: R + R (rápido)
# 🔄 Reloading app...

Ventajas:

  • ✅ No hay conflictos con Android Studio
  • ✅ Funciona siempre
  • ✅ Más rápido que otros métodos
  • ✅ No necesitas cambiar configuración

🔧 Método 2: Comandos NPM​

En otra terminal (mientras dev server corre):

# Android
npm run reload:android

# iOS
npm run reload:ios

Ventajas:

  • ✅ Funciona desde cualquier terminal
  • ✅ No hay conflictos
  • ✅ Puedes crear alias

Crear alias (opcional):

# En tu ~/.zshrc o ~/.bashrc
alias ra="npm run reload:android"
alias ri="npm run reload:ios"

# Uso:
ra # Recarga Android
ri # Recarga iOS

📱 Método 3: Dev Menu en Dispositivo​

Android​

  1. Abrir Dev Menu:

    • Emulador: Cmd+M (Mac) o Ctrl+M (Windows/Linux)
    • Dispositivo físico: Sacudir el dispositivo
  2. Seleccionar "Reload"

iOS​

  1. Abrir Dev Menu:

    • Simulador: Cmd+D
    • Dispositivo físico: Sacudir el dispositivo
  2. Seleccionar "Reload"


⚙️ Configurar Android Studio (Opcional)​

Si prefieres usar shortcuts en Android Studio, puedes desactivar los conflictivos:

Paso 1: Abrir Preferencias​

  • Mac: Android Studio → Preferences
  • Windows/Linux: File → Settings

Paso 2: Ir a Keymap​

Preferences → Keymap

Paso 3: Buscar y Modificar Shortcuts Conflictivos​

Shortcuts que causan conflictos:

ShortcutAcción en EmuladorConflicto con
Cmd+RRotate screenReload (esperado)
Cmd+MOpen dev menuMinimize window
Cmd+DDebugDev menu

Cómo cambiar:

  1. Busca "Rotate" en el keymap
  2. Click derecho → Remove Cmd+R
  3. Busca "Minimize"
  4. Click derecho → Remove Cmd+M

Paso 4: Agregar Custom Shortcuts (Opcional)​

Puedes agregar shortcuts personalizados para recargar:

  1. Preferences → Keymap
  2. Busca "External Tools"
  3. Click derecho → Add Keyboard Shortcut
  4. Asigna Cmd+Shift+R para reload

🎯 Configuración Recomendada​

Para Máxima Productividad​

Opción A: Solo Terminal (Recomendado)

# Iniciar dev
npm run dev:mobile -- --platform=android

# Recargar: R+R en terminal
# No necesitas tocar Android Studio

Opción B: Terminal + Alias

# En ~/.zshrc
alias ra="npm run reload:android"
alias ri="npm run reload:ios"

# Uso:
npm run dev:mobile -- --platform=android
# En otra terminal: ra

Opción C: Terminal + Script

# Crear script personalizado
echo '#!/bin/bash\nnpm run reload:android' > ~/bin/reload-app
chmod +x ~/bin/reload-app

# Uso:
reload-app

🔍 Troubleshooting​

"R+R no funciona"​

Causa: Terminal no está en foco o raw mode no está habilitado.

Solución:

  1. Click en la terminal donde corre npm run dev:mobile
  2. Presiona R dos veces rápido (< 500ms entre presiones)
  3. Si no funciona, usa: npm run reload:android

"Cmd+R rota la pantalla en vez de recargar"​

Causa: Android Studio captura el shortcut antes que el emulador.

Solución:

  • Opción 1: Usa R+R en terminal (recomendado)
  • Opción 2: Usa npm run reload:android
  • Opción 3: Desactiva el shortcut en Android Studio (ver arriba)

"Cmd+M minimiza Android Studio"​

Causa: macOS captura el shortcut.

Solución:

  • Opción 1: Usa R+R en terminal (recomendado)
  • Opción 2: Sacude el dispositivo/emulador
  • Opción 3: Desactiva en System Preferences → Keyboard → Shortcuts

"No puedo abrir dev menu"​

Solución:

# Android - Abrir dev menu manualmente
adb shell input keyevent 82

# iOS - Abrir dev menu manualmente
xcrun simctl spawn booted log stream --predicate 'processImagePath contains "YourApp"'

📋 Resumen de Shortcuts​

✅ Funcionan Siempre (Sin Conflictos)​

AcciónMétodoPlataforma
ReloadR+R en terminalAmbas
Reloadnpm run reload:androidAndroid
Reloadnpm run reload:iosiOS
Dev MenuSacudir dispositivoAmbas

⚠️ Pueden Tener Conflictos​

AcciónShortcutConflicto Posible
ReloadCmd+RRotate screen (Android Studio)
Dev MenuCmd+MMinimize window (macOS)
Dev MenuCmd+DDebug (Android Studio)

💡 Tips​

1. Usa R+R en Terminal​

Es el método más confiable y rápido. No tiene conflictos.

2. Mantén Terminal Visible​

Coloca la terminal al lado del emulador para acceso rápido.

3. Crea Alias​

Si usas mucho los comandos, crea alias cortos.

4. Usa Múltiples Terminales​

  • Terminal 1: Dev server (npm run dev:mobile)
  • Terminal 2: Comandos de reload (npm run reload:android)

5. Configura tu IDE​

Si usas VS Code, puedes agregar tasks:

// .vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Reload Android",
"type": "shell",
"command": "npm run reload:android",
"problemMatcher": []
}
]
}

Luego: Cmd+Shift+P → "Run Task" → "Reload Android"


🎯 Workflow Recomendado​

# Terminal 1: Dev server
npm run dev:mobile -- --platform=android --config=auravantbeta

# Editar código en tu editor
# Guardar archivo

# Opción A: Auto-reload (esperar 2-5 seg)
# Opción B: R+R en Terminal 1
# Opción C: npm run reload:android en Terminal 2

📞 Ayuda Adicional​

Si sigues teniendo problemas:

  1. Verifica que el dev server está corriendo
  2. Verifica que el dispositivo está conectado: adb devices
  3. Prueba con npm run reload:android directamente
  4. Revisa MOBILE_DEV_FAQ.md

Recomendación Final: Usa R+R en terminal. Es simple, rápido y sin conflictos. 🚀