* 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
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...
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.
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.
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.
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.
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 :)
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).
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!
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.
As a Genymobile employee, I'm happy to see this on HN! We use scrcpy internally also, it's really handy sometimes when we need to debug display issues with our Android emulator (Genymotion).
Romain is truly a talented developer, and deserves the success of scrcpy. If I remember correctly, scrcpy was also bundled with Genydeploy (an Android device provisioning solution) at the time.
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.
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.
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.
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.
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.
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.
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.
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).
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?
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.
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.
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
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).
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.
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.
Whoa this is awesome, I have a “throw away” tablet that loads all my bloatware apps that’s unfortunately necessary for a lot of home automation and messaging stuff. I just install the app and either use a home assistant or matrix plugin. I can now store my tablet in the server room instead and access it remotely!
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.
This also solves remote-support problems for me! Afaik there is no VNC Server / TeamViewer / AnyDesk / etc (server!) for Android, but telling someone to plug their phone into some computer I can control is easy enough :-)
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
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.
I've used this to play mobile games more comfortably at a computer. Combining this with a pen-tablet is a great experience for games that don't need multi-touxh, and you can sit up straight rather than hunched over a phone.
There were some minor compression artifacts at times but the quality was quite good and the latency was great.
To minimize artifacts, you can increase the bitrate (`scrcpy -b12M`) or use h265 (`scrcpy --video-codec=h265 -b12M`). Depending on your device, the latency with h265 may be higher though (but it might also be lower).
Interesting, can you clarify what configuration in the manifest this would be? Or is it not a standardized pattern and more akin to reverse-engineering on a per app basis?
I recently tried this with my old Huawei phone which had a broken screen but also a bunch of photos I would've wanted to save locally. It wouldn't even show up on `adb devices` let alone the programs that relied on adb IIUC. I even tried tapping the sequence for my code on the broken screen, as well as trying to turn on voice control to manually unlock the phone, but that didn't work either. I would be happy to give it another try though.
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.
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.
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.
Very useful little utility. I've used it to install SmartTube on my Chromecast with Google TV and previously to tinker with a Beelink box running Android.
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).
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.
I love this project but it also makes me feel uneasy since no indicator is shown on the device when connected. If someone forgets their phone unlocked, connecting it to your pc and using ADB over WiFi can give you full control and the victim will never know.
Super useful for my broken Pixel 6 Pro which has a broken screen (and replacement parts are still out of stock).
It does also support touch gestures, which makes it basically a software replacement for my screen since I can use my Thinkpad to touch-control the device over adb.
Just chiming in to say I've been using this for what feels like years and it's never failed me. Controlling a phone on a second monitor just because it's convenient, sharing a phone during meetings to showcase stuff, automating a couple apps, you can do it all!
This is incredible software with a small caveat: some apps can't be mirrored -- the ones which show blank on the task switcher view. This is more of an OS limitation than scrcpy's fault.
I know almost nothing about Android app development and especially disassembly (if that's even the correct term): Is it possible to modify an apk to eliminate this flag anywhere it's set?
I assume in the case of apps trying to protect copyrighted content, the answer is likely "yes but the app might check its own signature and exit if it's not valid, which it won't be at that point, so you'd also need to rip that out, which makes the job way harder."
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).
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).
You should not look in to their other project then, gnitehtet[1]. It's a reverse tethering app named "tethering" in reverse. These two apps have saved my butt more times than I can count, so they can all it whatever they want for all I care.
* 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