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
    Page Visibility API

    One event that's always been lacking within the document is a signal for when the user is looking at a given tab, or another tab. When does the user switch off our site to look at something else? When do they come back?

  • By
    I’m an Impostor

    This is the hardest thing I've ever had to write, much less admit to myself.  I've written resignation letters from jobs I've loved, I've ended relationships, I've failed at a host of tasks, and let myself down in my life.  All of those feelings were very...

Incredible Demos

  • By
    HTML5 Input Types Alternative

    As you may know, HTML5 has introduced several new input types: number, date, color, range, etc. The question is: should you start using these controls or not? As much as I want to say "Yes", I think they are not yet ready for any real life...

  • By
    CSS Circles

    A while back I shared a clever technique for creating triangles with only CSS. Over the past year, I've found CSS triangles incredibly effective, especially when looking to create tooltips or design elements with a likewise pointer pattern. There's another common shape...

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!