147 comments

[ 4.3 ms ] story [ 228 ms ] thread
Comes in handy for me on my Macbook.
Other notable features:

* Works in tandem with upstream android adb, so after usb(or wireless) debugging is enabled on the target device, there are no apps daemons or hacks needed and it just works.

* Install apks that are "unavailable for your device" in the official google play store (on things like chromecasts)

* Full Screen or screen section + audio recording

* Stream device screen when it's physically off on target device.

* scrcpy cli runs on macOS, Windows and Linux as well as containerized

* Option to connect over USB for insane performance and resolution

Can you share more about using scrcpy to install APKs that are unavailable for the device via Play?
You can just drag and drop APK files onto the scrcpy window to initiate an install (it just does 'adb install' basically).
Does this mean i can install signal on my tablet?
As long as you can somehow receive the registration sms code on a different device, you should be able to. Mind it would deregister Signal from your phone though.
hmm.. my tablet is unlimited data 5g... I get txts on it all the time as its SIM inherited some random number that the previous person was on quite a few group txts.

Although, I confirmed that I can install anything or any OS updates I would like and the service "should work"

Its a great little device that costs me $15/month for unlimited data - so I downgraded my phone plan to the $30/month plan (I pay my cell plans a year in advance so I never have to worry about a monthly phone bill...) but now for $45/month I have both my phone and this tablet which is cheaper than the $50/month they wanted for 10 gigs of data on my phone plan...

now I just need to make the most of this Alcatel Tablet. (the battery life on this tablet is quite good!) but now I need to hot-spot with it over USB, but have to look at how to do so.

The real question is, where do you get trustworthy APKs, if you cant download them from playstore ?

You can already install an APK through the phone

Some devices don't have the UI for side-loading apks (TVs etc.). You can download apks from the publisher's website, 3rd party stores like F-Droid or IzzyOnDroid, or use Yalp Store to download directly from Google Play.
From aurora store, an alternative front-end for play store available on f-droid.
Google Play doesn't really guarantee safety. It can promise though :)
> Install apks .. on things like chromecasts

Once an apk is on a Chromecast, how does one launch it? I've loaded APKs onto a Fire Stick, but that OS actually has a launcher. For a Chromecast, would I be limited to launching via adb and apps that launch themselves by being cast to? That would still be useful, like for example SmartTubeNext is one of the apps I put on my Fire Stick (highly recommended) and in addition to launching via the GUI, it auto-launches when cast to. Would be great to move it to the Chromecast because it's the only reason I have a Fire Stick...

I think we are talking strictly the Chromecast with Google TV here, which is a full Android TV stick.
That makes way more sense than the simple Chromecast I thought we were talking about. Thanks!
How do you exclude (split tunneling config) the wireless part required for scrcpy, when using a VPN app? The IP of my wireless debugging option shows as the one handed out via the tunnel interface, not the one from my wifi network, and I can't find a way to make this an exclusion, as I make other apps, in the split tunneling option of the VPN app.
It's an excellent piece of software, our team uses it throughout our workdays. Kudos to the devs for building and sharing with the world.
I'm sure there are many more practical uses, but it's great for automating mobile games.
How does that work - what do you do in the games from your computer for example? Just curious.
Not the original commenter but I would use AutoIt or some other automation software on the computer to click around the game window.
I started using Autopy [0] for writing scripts to automate games on Windows, and then discovered that scrcpy lets me do the same for Android. I've used it for solving picross puzzles and right now I'm working on a solver for the Zachtronics solitaire games.

[0] https://pypi.org/project/autopy/

Works well for streaming video from a Quest 2 to a computer.
It has built-in Chromecast functionality too.

In case you know, is there a quality difference? I generally find the Chromecast to be very low fps, is this better?

Is there a reverse scrcpy where I see my computer screen on Android? No need for control, just mirroring screen is enough.
(comment deleted)
Checkout rustdesk, open source vnc with Android client
I have tried a number of times to connect a phone with broken/dead screen. Touch and audio works.

I have probably managed to enter pin and login but clicking 'Allow usb debugging' checkbox when I run scrcpy is apparently impossible or may be I am missing from some other critical step.

Has someone done anything like that using this tool? It seems like a perfect use case.

Not using this tool, but actually to use this tool. My nexus device had a cracked screen like yours and I ended up running an android emulator to find where to blindly click to finally allow adb
This is a very clever advice. Thanks you. Have to try this out.
You can use mouse with usb otg.
still have to hit an invisible button
Once the authorization popup is on the screen, press Tab, Enter, Tab, Tab, Enter (of course, it's more difficult if USB debugging is not enabled at all).
Thank you. I haven't tried this either. This sounds very doable. Can try this first in emulator.
The first thing I do whenever I get a new phone (or OS update on an old phone) is enable USB debugging, plug it into my computer, and then click trust this device. It's insurance for the time when the phone screen inevitably dies, because then I can plug it back in and immediately drive it using scrcpy. It's saved me twice so far.
With newer android versions, you might want to check the "disable adb authorization timeout" option too. Otherwise, phone will "forget" your computer's adb key after a week.
It's worth learning how to use TalkBack anyway because of the insight it gives you into how accessibility tooling works, and also it's perfect for this use-case.
Can I turn the talk back on blindly? This phone is a pixel 2. Again, this does sound like a very good advice which I can try on emulator first. Thanks.
I'm not sure, but I feel like if a feature for blind people couldn't be turned on blindly, that would be problematic.
Most phones seem to have the default accessibility shortcut set to enable TalkBack -- I've needed to turn it off (for someone with dyspraxia) more than I've needed to turn it on.

Try holding down the two volume buttons down together for a few seconds, it might well activate.

if you have access to your phones files (or the phone backs up photos automatically ) you could try to use screenshots to guide you, or screenshare
Can you explain a bit more please. I do have some random screenshots backed up in Google photos. How does that help?
You take screenshots to navigate your dead screen phone
Very cool, is there something like this for Apple iOS phones?
You can use QuickTime on MacOS to see your iPhone as a video. Not sure other platforms.
The difference is that you can't control the phone from QuickTime, you can only view it. That is a pity because it is easier to control the phone with a mouse when developing apps (less tiring).
Yes, it is built into iOS - swipe down from the top right corner and chose mirror screen, this will mirror your screen on a compatible device (I only tested with a MacBook).
As other comment mentions below, this does not allow controlling the device.
Stupidly useful when I broke my phone in Antarctica and had to wait months for a replacement to arrive (it did, mere days before station close). Also a shout out to gnirehtet which is I think by the same devs? Reverse tether your phone for times when wifi and cell are both unavailable.
Wow you went to Antarctica? Why?
If you want to go to Antarctica for free find a PhD program they goes to Antarctica and you will get to go to Antarctica.
I think it would be super neat for 2 or 3 weeks. Maybe 2 months if you can go in the summer and spend time outside. In winter though? Oooooof no thanks!
Was curious about the cost:

    Overall Antarctica Cruise Cost [1]: 

    Low Budget     $9,340
    Mid-Range     $13,010
    Luxury        $26,100
Guess the prices will only go up once climate change fully deploys the 3-degrees-warmer world [2].

[1] https://www.antarcticaguide.com/antarctica-travel-cost#:~:te...

[2] Impacts of Climate Change in Antarctica, https://discoveringantarctica.org.uk/challenges/sustainabili...

OP mentioned they lived on a station, not doing a cruise!
I worked as a winterover, so I was paid to go. The cost of visiting the Pole is very high if you're there as a tourist (tens of thousands for a night). I believe some of the revenue does go towards science though, because the summer camps make use of e.g. the fuelling infrastructure for aircraft.

Cruises are also very expensive. Though they're quite popular with researchers because it's a side of the continent that you don't get to see if you're not working on the coast.

I wintered for IceCube. Happy to answer any questions about careers. My background isn't in polar research and while I have a PhD in (unrelated) physics, it's not a requirement by any means. Lots of jobs down there just require specific skillsets (and there is plenty of IT work).

https://icecube.wisc.edu/

Many years ago, my Samsung S3's wifi chip broke. I had to resort to mobile data for everything. Luckily I was able to use gnirehtet to download apps/updates for some time until I was able to buy a new phone :)
(comment deleted)
Very practical for phones without display port alt mode (notably pixels). Works with rpi.
A tool called "Vysor" does that very well. Need to compare.
I bought Vysor when it was the only option but since moved to Scrcpy because it is simpler to use and had better stability. I remember that Vysor had more features but also had some issues with activating the license on some computers.

EDIT: I forgot to say both did the same thing: mirror the device on the PC.

Used to use Vysor, switched to scrcpy. First, this is free, so that's a big up in its win column. I had trouble with stability in Visor that I never had with scrcpy. Plus, it's open source. There's no comparison to me.
This tool is a godsend. I use it as a way to control my phone when I'm at my desk on my mac - with wireless adb, without even looking at the phone screen at all.

Allows me to continue using my phone as I use my mac with a kb and mouse.

If anyone's looking for an android project, please make one that forwards all hotspot traffic over whatever VPN is enabled. I guess the phone will need rooting.
I think my Wireguard VPN already does this, sans root? I enable my VPN and my hotspot connected laptop is now routing its traffic via my house.

Or am I missing what you're looking for?

Are you running lineage or some other custom build? Stock android doesn’t do this afaik.
Are you sure? By default if you use a VPN, only apps on the device will use it. If you enable a wifi hotspot, any devices connected to the hotspot won't route their traffic over the VPN. Have you tried checking your IP from your laptop?
Why the down votes for this comment?

My Android does have that option, under: Hotspot and tethering > Allow clients to use VPNs.

Note however, my ROM is based on LineageOS, probably the reason why not everyone got it?

My device is a OnePlus phone. I don't see the option you're talking about in my hotspot settings, but maybe OnePlus made it the default.
My Pixel 6 Pro doesn't seem to have this. I use Wireguard, and hotspot traffic goes directly to cellular data, not via VPN.
Try this https://github.com/pyamsoft/tetherfi It will route all hotspot traffic through your phone and vpn. Works even without root
That seems cool, but I'm looking for something that would be totally transparent to connected devices (i.e. wouldn't require reconfiguring them at all).
For what it's worth: LineageOS (and probably other ROMs too) has a setting ("Allow clients to use VPNs") for this in the tethering settings screen. With root and four or five lines of bash script you can replicate this behaviour according to various StackExchange answers.

I'm not sure if this is a setting that comes from LineageOS or from upstream AOSP, but at least the feature is there as a starting point.

Edit: looks like it's a LineageOS feature: https://review.lineageos.org/c/LineageOS/android_frameworks_...

Thanks for these comments re LineageOS (& @ttarr). I dug out an old device I'd already installed it on and sure enough it works. Thanks so much :)
I used to use this with my Xiaomi phone connected over TCP/IP, but after a while the phone automatically disables wireless debugging so I have to enable it again on the phone directly, which is quite annoying
My 7 year-old phone has had a completely smashed screen for the past year. Thanks to this (super-easy-to-run script), I haven't felt the need to repair the screen at all.

10/10 would recommend.

That's a surprisingly great idea. A mobile phone can be used as a server, and for their capabilities, they are cheaper than Raspberry Pi when with some issues especially. Out of curiosity I just found an offer for a used Pixel 6 Pro for 70 EUR, supposedly only broken screen and the rest is working, where it has 12GB RAM with CPU Octa-core (copypasting: 2x2.80 GHz Cortex-X1 & 2x2.25 GHz Cortex-A76 & 4x1.80 GHz Cortex-A55), that's a fairly good offer.
how can you enable ADB/dev settings on the phone with a smashed screen?
Digitizer was still functional perhaps
Good question I did this once by plugging in a keyboard and mouse and using a combination of them to unlock the phone and enable onscreen dictation (meant for blind people, you move your mouse over the thing and it tells you what is under).

Mostly blind luck, clicking the windows button then typing out the unlock PIN code and enabling the voice detection via Ok Google I think although many things were tried.

Once the onscreen dictation was enabled we were able to navigate the phone by voice to do what we wanted (take all photos off it).

Edit: also some phones support video output via USB-C and then it is much easier. Unfortunately the one I was working on did not support that.

Simple, just connect your mouse with an usb converter..
How are you supposed to know where you click without a screen?
I responded to a comment about a broken digitizer, not a smashed screen (perhaps I messed up or comment got changed)
I'm also wondering this. I tried connecting a USB keyboard and a TV via HDMI but couldn't get the phone to unlock let alone the screen to show up on the TV.
Android is notorious for blocking usbc video out
Do I assume you already have adb/dev settings enabled?
For the use cases mentioned in the comments here, I don't think you really need a third party tool like this.

Connect your phone to a USB-C display and viola! Screen is mirrored and network, mouse and keyboard connected to the display are now connected to the phone.

There is also the Microsoft phone app for win10/11, and Samsung Dex.

That is not the same though. I use this as a daily driver and I don't need to dedicate a display or keyboard for it, just use the ones I use for everything else and have the phone just as a normal window on my desktop.

Also lots of phones are unable to output video at all. Such as all Google pixel/nexus devices ever made (unless I missed one).

Pretty sure the market share of usb-c Displays is still very low. Also, most people (source needed) use laptops nowadays.
I believe people using laptops at home are the ones with USB-C monitors :)
Most USB-C to anything/everything dongles used by MacBook users have an HDMI output.
That does depend on the hardware though -- I don't think any of the phones in my household support USB C DP or HDMI alt modes, and none of the displays are DisplayLink, so while they might manage to transfer power and possibly even connect peripherals there's no common ground for transferring video.
This is one of those tools that you really want to know about just in case of disaster. Very nice indeed! I unfamiliar with mobile apps, that been said now dumb question: are there nice tools out there that you would recommend to do full backups from a mobile phone to alinux box with the command line? I was thinking about rsync but I don't know if possible, or any limitations at all.
Thank you! Now I can finally play back the podcasts while hearing them on the PC.
Incredibly useful for live demos in meetings when working on mobile apps/web.
Last year my Samsung S20+ suffered the notorious "green vertical lines" and then soon after the "white out screens" (a pandemic-level hardware failure wave that has been widely reported), rendering it impossible to see clearly what is on the screen, even though everything else was still working.

Luckily because I was playing with scrcpy, I immediately knew it was my solution.

By using scrcpy to connect to a PC, I could still unlock the screen with my pattern or thumbprint, and when the app asks for passwords it is still possible to use the onscreen keyboard.

Are there any tools along this line, but act more like an external monitor does when plugged into your laptop (in external-monitor-only mode)? I.e. can run at a different resolution/size, rather than just mirroring the phone screen? Something like what Android Auto does when you plug into a head unit, but for 'normal' android.
Samsung Dex does this but it only works on some devices.
I do that with two tablets and a laptop. On the notebook I run some vnc server with an X built-in, then some x or vnc tool that links the different X instances running as if they are other monitors, so you only have to move your mouse to some lateral to get focus on the other X. Then on the tablets just use some generic VNC client.

There are multiple options for ever one of the three programs os this setup, but it takes some work to make all run well together. I can check the exact binaries that I'm using or send the scripts, if there's someone interested.

Edit: to make it work well enough with wifi, I had to make some tricks to deal with the tablet's wifi powersave behavior. On usb it works perfectly though.

Big fan of this tool, I use it any time I'm doing presentations or writing a document that requires a recording of my Android's screen.
Any explanation on how does it work? Is it via Android’s virtual display feature?