Mirror Android Device to Computer

By  on  

As I continue my adventure into Android development, pair programming has been a huge help in learning this new platform. When it's time to build and run the app, relying on the emulator is a fools' game -- the emulator is slow and it's hard to reliably simulate gestures.

If you have an android device, like a phone or tablet, you can plug it into your computer and mirror the display to your computer using an awesome utility called scrcpy!

Start by installing scrcpy with Homebrew:

brew install scrcpy

You may also need to install adb:

brew cask install android-platform-tools

Once you have scrcpy installed, you can start mirroring your Android phone to your computer by executing the command:

scrcpy

The Android device, whether phone or tablet, obviously must be connected to the computer at the time. The mirroring is super responsive and much nicer than an Android emulator. I love using scrcpy to pair program or record videos of app interactions.

When I first started Android development, I was worried I'd be stuck trying to use an emulator to demo features or bugs. Big thanks to scrcopy for making Android life easier!

Recent Features

  • By
    Interview with a Pornhub Web Developer

    Regardless of your stance on pornography, it would be impossible to deny the massive impact the adult website industry has had on pushing the web forward. From pushing the browser's video limits to pushing ads through WebSocket so ad blockers don't detect them, you have...

  • By
    Create a CSS Flipping Animation

    CSS animations are a lot of fun; the beauty of them is that through many simple properties, you can create anything from an elegant fade in to a WTF-Pixar-would-be-proud effect. One CSS effect somewhere in between is the CSS flip effect, whereby there's...

Incredible Demos

  • By
    dat.gui:  Exceptional JavaScript Interface Controller

    We all love trusted JavaScript frameworks like MooTools, jQuery, and Dojo, but there's a big push toward using focused micro-frameworks for smaller purposes. Of course, there are positives and negatives to using them.  Positives include smaller JS footprint (especially good for mobile) and less cruft, negatives...

  • By
    MooTools Equal Heights Plugin:  Equalizer

    Keeping equal heights between elements within the same container can be hugely important for the sake of a pretty page. Unfortunately sometimes keeping columns the same height can't be done with CSS -- you need a little help from your JavaScript friends. Well...now you're...

Discussion

  1. Akis

    Thank you David! Nice tool but on macOS 10.13.6 with adb on PATH and after successfully wireless connected (through adb) to my Xiaomi Mi 9, running

    scrcpy

    I took this error log:

    ERROR: Command not found: [~/Android/platform-tools/adb scrcpy], [push], [/usr/local/Cellar/scrcpy/1.11/share/scrcpy/scrcpy-server], [/data/local/tmp/scrcpy-server]
    ERROR: (make 'adb' accessible from your PATH or define its fullpath in the ADB environment variable)
    ERROR: Could not execute "adb push"
    

    Everything works but scrcpy… Any idea?

  2. Akis

    Actually, by removing

    export ADB="$ANDROID_SDK_HOME/platform-tools/adb scrcpy"

    from my .bash_profile, the first error line reads:

    ERROR: Command not found: [adb], [push], [/usr/local/Cellar/scrcpy/1.11/share/scrcpy/scrcpy-server], [/data/local/tmp/scrcpy-server]

    I pushed (with “adb push”) the appropriate file successfully on my phone, just to test if adb push command works.

  3. JJS

    If you use the Android Emulator from Google based on x86 processor with HAXM, it’s superfast, and superfast loaded. If you use the ARM images it’s slow as hell indeed.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!