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
    5 Awesome New Mozilla Technologies You’ve Never Heard Of

    My trip to Mozilla Summit 2013 was incredible.  I've spent so much time focusing on my project that I had lost sight of all of the great work Mozillians were putting out.  MozSummit provided the perfect reminder of how brilliant my colleagues are and how much...

  • By
    6 Things You Didn’t Know About Firefox OS

    Firefox OS is all over the tech news and for good reason:  Mozilla's finally given web developers the platform that they need to create apps the way they've been creating them for years -- with CSS, HTML, and JavaScript.  Firefox OS has been rapidly improving...

Incredible Demos

  • By
    Introducing MooTools HeatMap

    It's often interesting to think about where on a given element, whether it be the page, an image, or a static DIV, your users are clicking.  With that curiosity in mind, I've created HeatMap: a MooTools class that allows you to detect, load, save, and...

  • By
    Morphing Elements Using MooTools and CSS

    Morphing an element between CSS classes is another great trick the MooTools JavaScript library enables you to do. Morphing isn't the most practical use of MooTools, but it's still a trick at your disposal. Step 1: The XHTML The block of content that will change is...

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!