Tabla de Contenidos
scrcpy
Aplicación que permite ver y controlar un dispositivo Android.
- Repositorio oficial (GitHub)
Preparativos
En el dispositivo Android que vayamos a controlar debemos activar las opciones de desarrollador. Normalmente esto se consigue pulsando 7 veces sobre Número de compilación (dentro de Ajustes de Sistema → Acerca del teléfono)
El dispositivo Android a controlar debe ser Android 5.0 o superior.
Instalación
Arch Linux
A través del paquete scrcpy.
Uso
scrcpy permite el control por cable o de forma inalámbrica.
Conexión por cable
Conectamos el dispositivo Android al ordenador mediante cable USB y ejecutamos en el ordenador:
scrcpy
Si todo ha ido bien, se abrirá una ventana mostrando la pantalla del dispositivo Android. Desde esa pantalla podremos interactuar como si estuviésemos en la propia pantalla del dispositivo.
Conexión inalámbrica
Esto solo es posible si está habilitado el modo TCP/IP de adb (herramienta en línea de comandos que permite la comunicación con dispositivos Android).
scrcpy --tcpip=<IP_DISPOSITIVO_ANDROID>:5555
Si no somos root en el dispositivo Android y queremos habilitar este modo, tenemos que conectar el dispositivo por USB y ejecutar:
scrcpy --tcpip
scrcpy buscará el dispositivo y habilitará el modo TCP/IP. Desde ese momento, podremos desconectar el cable y lanzar scrcpy mediante:
scrcpy --tcpip=<IP_DISPOSITIVO_ANDROID>:5555
En Pixel 6a, al menos en mi caso, el puerto que usa para la depuración inalámbrica es el 39617.
Conectar con la cámara
scrcpy --tcpip=<IP_DISPOSITIVO_ANDROID>:<PUERTO> --video-source=camera
Enviar archivos
Si queremos enviar un archivo a dispositivo Android, basta con arrastrarlo y soltarlo en la retransmisión que estamos haciendo.
Por defecto se copiará en /sdcard/Download/, pero podemos cambiarlo a la hora de lanzar scrcpy:
scrcpy --push-target=/sdcard/Movies/
En la consola (del ordenador) veremos el progreso:
INFO: Request to push /media/disco4/videos/hola-mundo.mp4 INFO: Pushing /media/disco4/videos/hola-mundo.mp4... /media/disco4/videos/hola-mundo.mp4: 1 file pushed, 0 skipped. 8.8 MB/s (470285547 bytes in 50.859s) INFO: /media/disco4/videos/hola-mundo.mp4 successfully pushed to /sdcard/Download/
Pantalla virtual
Es posible retransmitir una nueva pantalla en lugar de la pantalla del propio dispositivo, de tal manera que no estaríamos viendo qué pasa en el dispositivo sino que tendríamos una pantalla “extra”:
scrcpy --new-display
Podemos establecer la resolución:
scrcpy --new-display=1920x1080
La pantalla virtual se “destruye” al terminar la sesión de scrcpy.
Podemos lanzar una aplicación, como por ejemplo el reproductor VLC:
scrcpy --new-display --start-app=org.videolan.vlc
Si no sabemos el nombre del paquete de la aplicación, podemos probar con su nombre de la siguiente manera:
scrcpy --new-display --start-app=+?vlc
Grabar transmisión
Si queremos grabar toda la transmisión:
scrcpy -r file.mkv
Cuando terminemos, se habrá generado un fichero file.mkv con la grabación de toda la retransmisión del dispositivo.
En dispositivos Android 10 o anteriores, el audio no puede ser capturado, así que se deshabilita automáticamente.
Controlar dispositivo
Si queremos controlar con el teclado y ratón del ordenador el dispositivo Android:
scrcpy --tcpip=192.168.0.11:43039 --no-video --no-audio -MK
Amazon Fire TV
El dispositivo Fire TV de Amazon incluye Android y permite el uso de scrcpy de forma inalámbrica de fábrica, pero primero hay que seguir unos pasos.
Activar las opciones de desarrollador: desde el menú vamos a Mi Fire TV → Acerca de, nos ponemos en la opción Fire TV Stick' y la pulsamos 7 veces seguidas. Habrá aparecido un elemento más en el menú anterior (Mi Fire TV) llamado Opciones para desarrolladores.
Dentro de Opciones para desarrolladores activamos Depurado ADB e Instalar apps desconocidas.
Desde el equipo donde tengamos scrcpy, vamos a habilitar la conexión ADB:
adb connect 192.168.0.13:5555
Nos aparecerá una ventana en el Fire TV solicitando permiso para acceder desde este equipo. Una vez se lo concedamos, ya podremos usar scrcpy para ver y controlar remotamente el Fire TV:
scrcpy --tcpip=<IP_FIRE_TV>
Podemos optimizar la conexión limitando la transmisión de la imagen:
scrcpy --tcpip=<IP_FIRE_TV> -m 1024 -b 2M --max-fps 15
-m | --max-size: reduce el tamaño /resolución de la imagen-b | --bit-rate: cambia el bitrate (por defecto, son 8M)--max-fps: limita el la tasa de fotogramas
Copiar y pegar
Para copiar texto y pegarlo en el Fire TV, tenemos que iniciar scrcpy con la opción –legacy-paste:
scrcpy --tcpip=<IP_FIRE_TV> --legacy-paste
Desde ese momento, lo que hubiésemos copiado en nuestro equipo, podremos pegarlo en el Fire TV con Ctrl+v
Pixel 6a
Notas sobre el control remoto en el teléfono Pixel 6a.
Completar
Audio robótico o muy malo
Añadimos la opción --audio-output-buffer=10:
scrcpy tcpip=direccion.ip.pixel.6:39617 --audio-output-buffer=10
Audio en el dispositivo Android y en el ordenador
Si queremos escuchar el audio tanto en el dispositivo Android como el que usamos con scrcpy, añadimos la opción --audio-dup:
scrcpy tcpip=direccion.ip.pixel.6:39617 --audio-output-buffer=10 --audio-dup
Atajos de teclado
La tecla MOD en Windows y Linux es la tecla Windows y en macos la tecla Cmd.
| Acción | Atajo |
|---|---|
| Alternar pantalla completa | MOD + F |
| Girar pantalla a la izquierda | MOD + ← |
| Girar pantalla a la derecha | MOD + → |
| Pantalla en horizontal | MOD + Shift + ← / MOD + Shift + → |
| Pantalla en vertical | MOD + Shift + ↑ / MOD + Shift + ↓ |
| Pause or re-pause display MOD+z | |
| Unpause display MOD+Shift+z | |
| Reset video capture/encoding MOD+Shift+r | |
| Redimensionar ventana a 1:1 (pixel-perfect) | MOD + G |
| Redimensionar ventana para quitar bordes negros | MOD + W / Doble clic |
| Clic en “Inicio” / “Home” | MOD + H / Botón central |
| Clic en “Atrás” | MOD + B / Mod + Backspace / Clic derecho |
| Click en “Recientes” | MOD + S / 4º botón del ratón |
| Click on MENU (unlock screen)⁴ MOD+m | |
| Click en subir volumen | MOD + ↑ |
| Click en bajar volumen | MOD + ↓ |
| Click en “ENDENDIDO” | MOD + P |
| Encender | Botón derecho |
| Apagar pantalla | MOD + O |
| Encender pantalla | MOD + Shift + O |
| Rotar pantalla | MOD + R |
| Mostrar panel de notificaciones | MOD +N / 5º botón del ratón |
| Mostrar panel de ajustes | MOD + N + N / Doble pulsación del 5º botón del ratón |
| Contraer paneles | MOD + Shift + N |
| Copiar al portapapeles | MOD + C |
| Cortar al portapapeles | MOD + X |
| Sincronizar portapapeles y pegar | MOD + V |
| Inyectar texto del portapapeles del ordenador | MOD + Shift + X |
| Mostrar / ocultar contador de FPS (en stdout) | MOD + I |
| Pinchar para zoom / rotar | Ctrl + click y mover el ratón |
| Tilt vertically (slide with 2 fingers) Shift+click-and-move | |
| Tilt horizontally (slide with 2 fingers) Ctrl+Shift+click-and-move | |
| Arrastrar y soltar fichero APK | Instalar APK desde el ordenador |
| Arrastrar y soltar archivo no APK | Envia un archivo a /sdcard/Download/ |
