2 votes

adb shell svc power stayon multiple device

Lorsque plusieurs appareils Android sont connectés à un ordinateur Linux (utilisant Linux Mint 20.2 Cinnamon, qui est basé sur la version appropriée d'Ubuntu 20.04 LTS) et que scrcpy v1.12 alors comment garder plusieurs appareils éveillés ? Quand un appareil est connecté, je l'utilise :

adb shell svc power stayon true

... et ça a marché.

Lorsque plusieurs appareils sont présents, un message d'erreur s'affiche :

error: more than one device/emulator

J'ai essayé de trouver une solution, mais sans succès jusqu'à présent. J'ai essayé de connecter les appareils un par un, puis de les exécuter, mais cela n'a pas fonctionné. Ayant un appareil utilisant OxygenOS 9.0.6, qui est basé sur Android version appropriée. Deuxième appareil a LineageOS 18.1, qui est basé sur Android 11.

Utiliser les commandes suivantes pour se connecter avec plusieurs appareils :

scrcpy -s <ID1> -m 1024 -S&
scrcpy -s <ID2> -S&

Le -S éteindra l'écran du dispositif, une fois qu'il sera connecté. Je voudrais que l'écran de l'ordinateur reste allumé pendant l'utilisation de scrcpy, mais l'écran du périphérique doit être éteint en même temps.

Essayé aussi GUI mais ça n'a pas aidé non plus. L'écran d'un appareil équipé d'Android 9 est toujours allumé, mais celui d'un autre appareil équipé d'Android 11 s'éteint et la fenêtre scrcpy s'éteint également. Je sais qu'il y a un raccourci clavier CTRL+O dans scrcpy, qui permet d'éteindre l'écran de l'appareil ou l'utilisation de -S le fera immédiatement après la connexion.

Une idée pour résoudre ce problème ?

1voto

Peter Points 1

La réponse est

adb -s <ID> shell svc power stayon true

Les identifiants des appareils peuvent être récupérés lorsque les appareils Android sont connectés à l'ordinateur via un câble USB (ou WiFi) :

adb devices
<ID1>  device
<ID2>  device

Si l'appareil n'est pas reconnu, veuillez vous assurer que Le débogage USB est activé lorsque le câble USB est connecté. . Pour cela, il faut un mode développeur au préalable. Voir aussi Configuration USB par défaut vaut la peine d'être vérifiée, par exemple : charge uniquement et pas de transfert de données par défaut, afin d'éviter la divulgation éventuelle de données personnelles ou l'infection par des logiciels malveillants sur un ordinateur étranger. Même sur votre propre ordinateur, il n'est pas nécessaire de monter tout le temps un dispositif de stockage, si vous avez juste besoin d'utiliser la mise en miroir de l'écran. Lorsque la récupération de données à partir d'un appareil Android est nécessaire, le mode USB peut être modifié (pendant que le câble USB de l'appareil Android est connecté à l'ordinateur) via le menu de notification, généralement tiré vers le bas à partir du bord supérieur de l'appareil Android.

Par exemple, sous Linux, il est possible de créer des icônes de raccourci dédiées ( ~/.local/share/applications/*.desktop ) avec des images PNG appropriées ( ~/.local/share/icons/*.png ).

dispositif 1 :

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

dispositif 2

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

El -S éteindra l'écran de l'appareil Android immédiatement lors de la connexion, mais la première partie de la commande jusqu'à ce que && gardera l'image miroir scrcpy sur l'écran de l'ordinateur toujours allumée et l'appareil ne sera pas verrouillé même en période d'inactivité. Des explications supplémentaires sur la commande svc power peuvent être trouvées dans le code source. . La commande déterminera s'il faut garder votre appareil éveillé (l'empêcher de dormir) ou non pendant qu'il est en charge sur une plateforme spécifique : Chargement USB, alimentation CA, chargement sans fil, ou tous ces éléments :

  • true activera tous les drapeaux (usb, ac, wireless)
  • false effacera tous les drapeaux
  • usb/ac/wireless mettra en place ce drapeau spécifique et effacera les autres

Le même paramètre est généralement accessible dans les "Options du développeur", sous l'intitulé "Rester éveillé", bien qu'il soit plus simple avec une simple bascule pour l'activer ou la désactiver.

Le code global du raccourci du bureau (remplacez le <device name> y <ID> avec des valeurs appropriées) pour ~/.local/share/applications/*.desktop le(s) fichier(s), et éventuellement changer de catégorie :

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

Merci aux commentateurs pour leurs conseils !

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X