2 votos

Adb shell svc power stayon dispositivo múltiple

Cuando hay varios dispositivos Android conectados a una computadora Linux (usando Linux Mint 20.2 Cinnamon, que se basa en la versión adecuada de Ubuntu 20.04 LTS) y scrcpy v1.12 entonces ¿cómo mantener despiertos varios dispositivos? Cuando está conectado un dispositivo, entonces uso:

adb shell svc power stayon true

... y funcionó.

Cuando hay varios dispositivos, entonces aparecerá un mensaje de error:

error: more than one device/emulator

He intentado encontrar una solución, pero hasta ahora no he tenido suerte. Intenté conectar los dispositivos uno por uno y luego ejecutar, pero no funcionó. Uno de los dispositivos utiliza OxygenOS 9.0.6, que se basa en la versión adecuada de Android. El segundo dispositivo tiene LineageOS 18.1, que se basa en Android 11.

Estoy usando los siguientes comandos para conectar con varios dispositivos:

scrcpy -s  -m 1024 -S&
scrcpy -s  -S&

El -S apagará la pantalla del dispositivo una vez que esté conectado. Me gustaría mantener la pantalla encendida en la computadora, mientras uso scrcpy, pero la pantalla del dispositivo debería apagarse al mismo tiempo.

También intenté con GUI pero tampoco ayudó. Un dispositivo con Android 9 tiene la pantalla siempre encendida, pero otro dispositivo con Android 11 se apagará por tiempo y también la ventana de scrcpy se apagará. Sé que hay una tecla de acceso directo CTRL+O en scrcpy, que ayuda a apagar la pantalla del dispositivo o usar -S lo hará inmediatamente después de conectar.

¿Alguna idea de cómo resolver esto?

0 votos

Las comandos adb -s shell funcionarán como siempre, pero afaik scrcpy tiene parámetros especiales de línea de comandos. prueba --stay-awake

0 votos

¿No hay una opción de línea de comandos en scrcpy que mantenga el dispositivo despierto? Recuerdo que he usado una opción así hace algunos meses.

0 votos

La opción --stay-awake parece ser posible desde la v1.14 (github.com/Genymobile/scrcpy/releases/tag/v1.14), pero la versión más reciente de LTS de Ubuntu sigue siendo la v1.12. Sin embargo, el comando "adb -s shell svc power stayon true" funcionó y parece que es la única alternativa hasta que lleguen las versiones v1.14 y posteriores de scrcpy a la versión LTS de Ubuntu. Parece que Ubuntu 20.10 ya tiene la v1.14. Por lo tanto, la próxima versión LTS de Ubuntu debería tenerla. Hasta entonces, se puede utilizar el comando adb mencionado.

1voto

Peter Puntos 1

La respuesta es

adb -s  shell svc power stayon true

Los IDs de los dispositivos se pueden recuperar, mientras los dispositivos Android están conectados a la computadora a través del cable USB (o WiFi):

adb devices
  dispositivo
  dispositivo

Si el dispositivo no es reconocido, entonces por favor asegúrese de que la depuración USB esté activada mientras el cable USB está conectado. Para eso se necesita un modo desarrollador de antemano. También es útil verificar la configuración USB predeterminada, por ejemplo, solo carga y sin transferencia de datos por defecto para evitar posibles revelaciones de datos personales o infecciones de malware en computadoras externas. Incluso en su propia computadora, no es necesario montar el almacenamiento del dispositivo todo el tiempo, si solo necesita utilizar la duplicación de pantalla. Cuando se necesite recuperar datos del dispositivo Android, el modo USB se puede cambiar (mientras el dispositivo Android esté conectado a la computadora) a través del menú de notificaciones, generalmente deslizándolo desde el borde superior del dispositivo Android.

P. ej. en Linux se pueden crear iconos de acceso directo dedicados (~/.local/share/applications/*.desktop) con imágenes PNG apropiadas (~/.local/share/icons/*.png).

dispositivo 1:

Exec=sh -c 'adb -s  shell svc power stayon true && scrcpy -s  -S &'

dispositivo 2

Exec=sh -c 'adb -s  shell svc power stayon true && scrcpy -s  -S &'

El -S apagará la pantalla del dispositivo Android inmediatamente al conectarse, pero la primera parte del comando hasta && mantendrá la imagen reflejada de scrcpy en la pantalla de la computadora siempre encendida y el dispositivo no se bloqueará incluso en tiempo de inactividad. Se puede encontrar una explicación adicional sobre el comando svc power en el código fuente. El comando establecerá si mantener despierto su dispositivo (evitar que se duerma) o no mientras se está cargando en una plataforma específica: carga USB, energía AC, carga inalámbrica o todas ellas:

  • true establecerá todas las banderas (usb, ac, inalámbrica)
  • false eliminará todas las banderas
  • usb/ac/inalámbrico establecerá esa bandera específica mientras elimina la otra

Por lo general, la misma configuración se puede acceder en las "Opciones de desarrollador" llamada "Mantener despierto", aunque es más simple con solo alternar para encender/apagar.

El código de acceso directo de escritorio global (reemplace el y con los valores apropiados) para el archivo(s) ~/.local/share/applications/*.desktop, también posiblemente cambie la categoría:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Name=
GenericName=
Comment=Copia de pantalla de Android
Icon=scrcpy-
Exec=sh -c 'adb -s  shell svc power stayon true && scrcpy -s  -S &'
Terminal=false
StartupNotify=false
Categories=Utility;

¡Gracias a los comentaristas por las pistas!

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X