scrcpy for Projecting Your Android Screen
When delivering presentations about Android, a frequent challenge is: how do I get the audience to see what’s on a device’s screen?
In the beginning, we had two options:
-
Use the emulator, which back in the early days of Android was ARM-only and very slow
-
Use a hardware projector (e.g., an ELMO), which were hard to find
In 2009, to help with this, I created DroidEx.
This has long been relegated to
the dustbin of history, outside of this fork.
DroidEx used the same protocol that adb
uses for screenshots (e.g., from inside
Android Studio), just pushing the screenshots into a desktop window. It was
slow (~6 fps), but it worked.
Later, Jens Riboe took the DroidEx concept and created Droid@Screen, with a better desktop UI. And that’s what I used for years for presentations… until very recently.
If you can demo using an Android 5.0+ device, use scrcpy, by Romain Vimont and Genymobile.
This uses a little H.264 server, pushed over onto the device, which the client
then plays back. This offers much better performance (30-60 fps). I even accidentally
demonstrated an Android device playing back video, and scrcpy handled it flawlessly.
It is as simple to use as was Droid@Screen — just run the scrcpy
command
to push over the server bit, start it running, and launch the client UI. The
client UI even accepts input and forwards it to the device, so you can control
the hardware from your notebook.
If you are delivering presentations with Android demos — sales, conference presentations, training, etc. — and you have a case where an emulator is insufficient, scrcpy should be in your toolbox.