scrcpy (« screen copy ») est un logiciel gĂ©nial, libre et open source permettant de cloner lâaffichage de son smartphone Android sur son ordinateur. Plus prĂ©cisĂ©ment scrcpy permet dâobtenir lâaudio et la vidĂ©o de votre smartphone via USB ou TCP/IP sans nĂ©cessiter lâaccĂšs root du tĂ©lĂ©phone.
Votre tĂ©lĂ©phone devient alors pilotable depuis votre PC. Cela permet par exemple dâutiliser sur son PC des applications qui sont purement Android, sans faire appel Ă un Ă©mulateur Android.
Dâautres cas dâusages :
- Faire un tutoriel,
- Configurer certaines applications en copiant-collant des paramĂštres.
Prérequis sur le smartphone
- Le smartphone doit ĂȘtre hĂ©bergĂ© le systĂšme Android (version 5.0 ou plus) ou lâun de ces dĂ©rivĂ©s.
- Le mode dĂ©veloppeur et le mode dĂ©bogage doivent ĂȘtre activĂ©s sur le tĂ©lĂ©phone.
-
Activer le débogage USB
Si vous nâavez pas activĂ© le dĂ©bogage USB (mode dĂ©veloppeur / ADB) sur votre smartphone, scrcpy ne fonctionnera pas.
Sur votre téléphone :
-
Aller dans « ParamĂštres » > « SystĂšme » > « à propos du tĂ©lĂ©phone » > et tapoter 7 fois sur le «ânumĂ©ro de buildâ» : Cela permet de faire apparaĂźtre le menu « options pour dĂ©veloppeurs » apparaĂźt dans les paramĂštres.
-
Aller dans « ParamÚtres » > « SystÚme » > « options pour développeurs » > activer « débogage USB ».
-
Attention, il y a quelques considĂ©rations de sĂ©curitĂ© Ă prendre en compte lors de lâactivation du dĂ©bogage USB. Ce point ne sera pas traitĂ© dans ce billet, mais câest un vrai sujet.
Ă savoir
- AprĂšs certaines mises Ă jour majeur dâAndroid, vous devrez dĂ©sactiver le dĂ©bogage USB et le rĂ©activer pour celui-ci fonctionne.
- Certaine versions dâAndroid dĂ©sactive (rĂ©voque) par dĂ©faut les autorisations adb pour les systĂšmes qui ne se sont pas connectĂ© depuis un certain temps (la valeur par dĂ©faut est de lâordre de la semaine). Vous devrez donc rĂ©
PrĂ©requis sur lâordinateur
- Un systĂšme Linux dĂ©rivĂ© de Debian tel que Linux Mint. Lâapplication scrcpy tourne Ă©galement sur dâautres plateformes, mais ce ne sera pas traitĂ© par ce billet (il est probable que mise Ă part lâinstallation, tout le reste fonctionne Ă lâidentique sur Windows).
- Disposer des Droits de super utilisateur, pour lâinstallation de lâapplication et des dĂ©pendances.
- Disposer dâune connexion internet.
- Un cĂąble permettant de relier votre smartphone a votre ordinateur, au moins pour simplifier la premiĂšre connexion.
Installation
En dehors de lâactivation du « dĂ©bogage USB », il nây a pas Ă installer quoique ce soit sur le smartphone.
Sur lâordinateur :
sudo apt install scrcpy
Utilisation
Pour la premiÚre connexion, utilisez un cùble USB, cela sera plus simple. Depuis un terminal (« CTRL + ALT + T ») commencer par simplement :
scrcpy
scrcpy 1.25 <https://github.com/Genymobile/scrcpy>
ERROR: Could not find any ADB device
ERROR: Server connection failed
scrcpy 1.25 <https://github.com/Genymobile/scrcpy>
ERROR: Device is unauthorized:
ERROR: --> (usb) XXXXXXXX unauthorized
ERROR: A popup should open on the device to request authorization.
ERROR: Check the FAQ: <https://github.com/Genymobile/scrcpy/blob/master/FAQ.md>
ERROR: Server connection failed
scrcpy 1.25 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 207.9 MB/s (41650 bytes in 0.000s)
[server] INFO: Device: XXXXXXXXXXXXXX (Android 12)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 24.0.9-0ubuntu0.1
INFO: Trilinear filtering enabled
INFO: Initial texture: 1080x2336
En cas dâerreur, commencer par vous assurez-vous que :
- le mode débogage soit bien activé sur le smartphone,
- le cĂąble USB soit bien connectĂ© entre lâordinateur et le smartphone.
- Voir Ă©galement : đ± « scrcpy » soucis de connexion en USB
Utilisation avancée
Pour commencer pensez Ă consulter lâaide :
man scrcpy
scrcpy --help
 Quelques options utiles
--always-on-top
 : Faites en sorte que la fenĂȘtre scrcpy soit toujours au-dessus des autres fenĂȘtres.-f
,--fullscreen
 : DĂ©marre lâapplication en plein Ă©cran.--disable-screensaver
: DĂ©sactive lâĂ©conomiseur dâĂ©cran, trĂšs utile si vous faite une prĂ©sentation.-n
,--no-control
 : Désactive le contrÎle du smartphone, mode miroir uniquement.-r
,--record=mon-enregistrement.mp4
 : Enregistre lâĂ©cran dans un fichier. Le format est fixĂ© par lâoption--record-format
sâil est dĂ©fini ou par lâextension du fichier (.mp4
ou.mkv
).--rotation=valeur
 : Force la rotation initiale de lâĂ©cran. Les valeurs possibles sont 0, 1, 2 et 3. Chacune incrĂ©mente de 90° la rotation dans le sens des aiguilles dâune montre.-S
,---turn-screen-off
 : Ăteint lâĂ©cran du smartphone au dĂ©marrage de scrcpy.-w
,--stay-awake
 : Garde lâappareil allumĂ© pendant que scrcpy est en cours dâexĂ©cution, lorsque lâappareil est branchĂ©.--tcpip[=ip[:port]]
 : Configure et reconnecte lâappareil via TCP/IP. Si une adresse de destination est fournie, alors scrcpy se connecte Ă cette adresse avant de commencer. Lâappareil doit Ă©couter sur le port TCP donnĂ© (la valeur par dĂ©faut est 5555). Si aucune adresse de destination nâest fournie, alors scrcpy tente de trouver lâadresse IP de lâappareil actuel (gĂ©nĂ©ralement connectĂ© via USB), permet mode TCP/IP, puis se connecte Ă cette adresse avant de dĂ©marrer. Une fois la connexion Ă©tablie vous pourrez retirer le cĂąble USB.--window-title=text
 : DĂ©fini un titre de votre choix pour le titre de la fenĂȘtre.
Usages spéciaux :
--push-target path
 : Permet de dĂ©finir le rĂ©pertoire cible pour envoyer les fichiers vers lâappareil par glisser-dĂ©poser. Il est passĂ© tel quel Ăadb push
. La valeur par défaut est/sdcard/Download/
. Cette option permet de modifier le comportement du « Glisser-dĂ©poser dâun fichier non-APK ».
Exemples
- Prendre la main sur un smartphone dont on connaĂźt lâadresse IPÂ :
La premiÚre connexion doit se faire avec le cùble USB. Utilisez :
adb tcpip 5555
puis
scrcpy --tcpip=192.168.1.73
Pour plus de dĂ©tails, voir le billet : đ± « scrcpy » soucis de connexion en WIFI
- Prendre la main sur un smartphone via la connexion USB, en plein Ă©cran sur lâordinateur, en Ă©teignant lâĂ©cran et en dĂ©sactivant lâĂ©conomiseur dâĂ©cran cĂŽtĂ© smartphone :
scrcpy -S -f --disable-screensaver # Débloquer le téléphone avant cette opération
Notez que : ALT + F permet de sortir du plein écran (voir les raccourcis)
Rappel :
-S
,---turn-screen-off
 : Ăteint lâĂ©cran du smartphone au dĂ©marrage de scrcpy.-f
,--fullscreen
 : DĂ©marre lâapplication en plein Ă©cran.--disable-screensaver
: DĂ©sactive lâĂ©conomiseur dâĂ©cran.
- Cas de plusieurs smartphones :
Vous aurez un message dâerreur pour vous informer quâil y a plus dâun pĂ©riphĂ©rique : « more than one device/emulator »
Regardez la liste des pĂ©riphĂ©riques Ă lâaide de :
adb devices
List of devices attached
8B2TE9ZM01371256 device
192.168.1.72:5555 device
Ensuite vous devrez spĂ©cifier lâidentificateur choisi Ă lâaide de :
scrcpy -s 8B2TE9ZM01371256
scrcpy -s 8B2TE9ZM01371256 --tcpip
- Cas du son et de lâenregistrement :
Utilisez la syntaxe suivante :
scrcpy --tcpip=192.168.1.73 --record=mon-enregistrement.mp4
Mais pour cela vous devez avoir une version â„ 2 de srccopy.
A priori, la capture du son ne fonctionne comme attendu avec une version < 2
Pour récupérer votre numéro de version :
scrcpy -v
Note : la version actuellement disponible dans les dépÎts Debian est trop ancienne.
Pour faire fonctionner ce qui est dessous, vous devrez vous inspirer de Install Latest version.
scrcpy 1.25 <https://github.com/Genymobile/scrcpy>
Dependencies (compiled / linked):
- SDL: 2.28.2 / 2.30.0
- libavcodec: 60.3.100 / 60.31.102
- libavformat: 60.3.100 / 60.16.100
- libavutil: 58.2.100 / 58.29.100
- libavdevice: 60.1.100 / 60.3.100
- libusb: - / 1.0.27
 Les raccourcis
Dans la liste suivante, MOD est le modificateur de raccourci. Par dĂ©faut, câest Alt (Ă gauche de la barre espace) ou Super, mais il peut ĂȘtre configurĂ© par --shortcut-mod
.
- MOD + f : Passe en plein écran.
- MOD + Left : Rotation de lâĂ©cran Ă gauche.
- MOD + Right : Rotation de lâĂ©cran Ă droite.
- MOD + g : Redimensionner la fenĂȘtre Ă 1:1 (pixel parfait).
- MOD + w ou Double-clic sur les bords noirs : Redimensionner la fenĂȘtre pour supprimer les bordures noires.
- MOD + h ou Home ou clic-du-milieu : Simule un clic sur HOME.
- Right-click (lorsque lâĂ©cran est Ă©teint) : Allume lâĂ©cran.
- MOD + o : Ăteint lâĂ©cran de lâappareil (mais pas sur lâordinateur).
- MOD + Shift + o : Allume lâĂ©cran de lâappareil.
- MOD + r : Tourne lâĂ©cran de lâappareil.
- MOD + n : Développe le panneau de notification.
- MOD + Shift + n : Réduire le panneau de notification.
- MOD + c : Copier dans le presse-papier (injecte le keycode COPY, Android ⩟ 7).
- MOD + x : Couper dans le presse-papier (injecte le keycode CUT, Android ⩟ 7).
- MOD + v : Copie contenu du presse-papier de lâordinateur vers le smartphone, et le colle (injecte le keycode PASTE, Android â©Ÿ 7)
- MOD + Shift + v : Injecter le texte du presse-papiers de lâordinateur sous la forme dâune sĂ©quence dâĂ©vĂ©nements clĂ©s.
- MOD + i : Activer/dĂ©sactiver le compteur FPS (imprime le nombre dâimages/seconde dans le journal).
- Ctrl + « cliquer et dĂ©placer » : Pincez pour zoomer depuis le centre de lâĂ©cran.
- Glisser-dĂ©poser un fichier APK : Installe le fichier APK depuis lâordinateur sur le smartphone.
- Glisser-déposer un fichier non-APK : Copier le fichier sur le smartphone (voir
--push-target
).
Simulation dâactions sur le tĂ©lĂ©phone :
- MOD + b ou MOD + Backspace ou clic-droit (lorsque lâĂ©cran est allumĂ©) : Simule un clic sur BACK.* MOD + s : Simule un clic sur APP_SWITCH.
- MOD + m : Simule un clic sur MENU.
- MOD + Up : Simule un clic sur VOLUME_UP.
- MOD + Down : Simule un clic sur VOLUME_DOWN.
- MOD + p : Simule un clic sur POWER (allume ou Ă©teint lâĂ©cran).
Liens
- Le site de scrcpy,
- Le code source ou vous trouverez de la documentation intéressante en anglais,
- Documentation de Scrcpy sur <Ubuntu-fr.org>.
- Billets complémentaires :
኿