“Mira mamá, sin manos” O como depurar tus desarrollos como un señor 🍷🧐📱
(Control remoto de tu teléfono Smartphone en tu ordenador)
Después de un tiempo desarrollando aplicaciones móviles con Flutter & Dart, me he dado cuenta de algo que no estaba haciendo bien en mi STACK de trabajo, así que decidí cambiarlo…
Problema
Al principio utilizaba el Emulador de Android, algo que ha nadie le hace mucha gracia, te ralentiza el ordenador… es lento… etc,
Al poco tiempo empece a depurar en mi teléfono móvil que utilizo a diario (Tengo otros, pero no tan potentes ni con versiones mas actualizadas de android), en vez de depurar con USB, conecte la opción de depuración con WIFI, para evitar un poco el marrón del cable…
AQUELLO ERA UNA MARAVILLA, todo iba mas fluido, mas rápido, las animaciones… PERO….. todo aquello a la larga tenia un problema:
- Cada vez que lanzo mi aplicación, tengo que soltar las manos del teclado/ratón, coger el teléfono móvil (Desbloquear en algunos casos) y cambiar mi postura.
- Cuando llevas tiempo con el teléfono móvil en las manos, se recalienta y si por algún casual lo tienes que cargar porque le has metido mucha caña… ya ni te cuento, te lo tienes que pasar de mano a mano (Tanto calor para la batería de un Smartphone no es nada bueno)
- La vida útil de la pantalla, estamos haciendo un buen uso de la pantalla y si no nos damos cuenta del brillo que tenemos configurado… quizás provoquemos ese “Gosth Image” que ya aparece en algunos móviles, mi anterior Smartphone se jubilo por esa razón y ahora que tengo uno nuevo, no me gustaría que le pasara lo mismo…
TOTAL!, que después de plantearme esto, decidí buscar una solución… y encontré esto:
Esta aplicación nos permite hacer control remoto de nuestro teléfono móvil a través de USB o TCP/IP, enfocándose en cosas como:
- Ligero y muy rápido
- Rendimiento (30–60 fps)
- Calidad (1920 x 1080 o superior)
- Baja latencia ( 35 ~ 70ms )
- No necesitas instalar nada en tu teléfono móvil
Ahora que ya tenemos el problema y una posible solución…
VAMOS A ELLO!
( La explicación la haré con Windows, pero funciona perfectamente en MacOs y Linux)
1 — Requisitos:
- Para todo esto vamos a necesitar un dispositivo Android con una versión API 21 (Android 5.0) o superior
- El teléfono móvil tiene que estar en la misma red que el ordenador que lanza la aplicación.
- Tener habilitada la depuración USB en nuestro Smartphone
- Para habilitar la entrada de Teclado/Ratón a nuestro teléfono móvil, tenemos que asegurarnos de tener activada esta opción:
2 — Bajamos la aplicación SCRCPY (v1.10) ( Dependiendo de nuestro sistema, nos bajamos la versión de 32Bits o 64Bits )
3 — Descomprimimos los archivos en la raíz de nuestro disco duro, quedando algo así: “C:\scrcpy-win64”
4 — Abrimos “Windows PowerShell” o “Símbolo de sistema” y escribimos lo siguiente:
cd C:\scrcpy-win64
5 — Conectamos nuestro teléfono móvil y nos aseguramos que nos ha cogido las opciones de depuración, después buscamos en las opciones Wifi, la dirección IP que tenemos en nuestra Red, suele ser algo así 192.168.0.104,
6 — Volvemos a nuestro “Powershell” (Asegúrate de estar en C:\scrcpy-win64 ) y escribimos lo siguiente:
.\adb tcpip 5555
Esperamos a que reinicie… y escribimos lo siguiente
.\adb connect <TU DIRECCIÓN IP>:5555
en mi caso seria algo así, .\adb connect 192.168.1.107:5555, nos devolverá un mensaje diciendo que se ha conectado a esa IP.
BIENNNNN!!!!, ahora podemos depurar sin necesidad de estar conectado con el cable… pero no hemos venido a eso 😉
7 — Scrcpy ofrece muchas opciones de lanzamiento, podemos ajustar el tamaño que queremos, grabar la pantalla, controlar varios dispositivos, y muchas mas…
Vamos a nuestra “PowerShell” y escribimos lo siguiente:
.\scrcpy -m 1024 -S -T
- “-m 1024”: con este parámetro ajustamos el tamaño que queremos de nuestro terminal (Ajústalo con cabeza, si te pasas puede que se ralentice)
- “-S”: este nos permite apagar la pantalla de nuestro dispositivo cada vez que nos conectemos a el, de esta forma, alargamos la vida útil de la pantalla de nuestro Smartphone, la única pega que cada vez que te llamen o toques el Smartphone físicamente, esta función se pierde, pero TRANQUI!!, que lo vamos a solucionar.
- “-T”: esto hace que la ventana de control remoto este siempre por encima del resto de aplicaciones, útil si utilizamos nuestro entorno de desarrollo en pantalla completa.
y….. WALLLA!!!! se nos abrirá una ventana con la imagen de nuestro teléfono móvil y este mismo que esta en la mesa tranquilito, veras que se le apaga la pantalla, pero tu puedes seguir usándolo desde tu ordenador 😏.
Aquí os dejo una preview de como funciona.
BONUS
Como ya estaba un poquito cansado de tener que estar abriendo la “PowerShell” y tener que escribir todos los comandos… me he hecho un ejecutable para hacerlo a GOLPE DE CLICK (Recuerda, Like a Sir!)
Vamos a crear uno
1 — Creamos un fichero TXT en nuestro escritorio y dentro pegamos lo siguiente:
@ECHO OFF
ECHO Arrancamos ADB
C:\scrcpy-win64\adb.exe tcpip 5555
C:\scrcpy-win64\adb.exe connect <IP DE NUESTRO MOVIL>:5555
cd C:\scrcpy-win64\
.\scrcpy.exe -m 1024 -S -T
ECHO Desconectamos ADB
C:\scrcpy-win64\adb.exe disconnect <IP DE NUESTRO MOVIL>:5555
2 — Guardamos nuestro fichero y le buscamos en el escritorio, se tiene que ver algo así:
Nuevo documento de texto.txt
3 — Cambiamos “Nuevo documento de texto.txt”, por “Debug-LikeaSir.bat” ( Si no ves el .txt, pásate por aquí )
Y con esto tenemos un precioso ejecutable, que nos conecta a nuestro Smartphone a golpe de click con un delay ridículo.
También os dejo por aquí los accesos directos que tiene esta aplicación para sacarle todo su potencial
Si tienes algún problema con el proceso, no dudes en comentarlo, te echare una mano encantado =)