[HN Gopher] Scrcpy: Display and control your Android devices con...
___________________________________________________________________
Scrcpy: Display and control your Android devices connected over USB
or TCP/IP
Author : thunderbong
Score : 580 points
Date : 2023-04-29 02:09 UTC (20 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| kramerger wrote:
| 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.
| carstenhag wrote:
| Pretty sure the market share of usb-c Displays is still very
| low. Also, most people (source needed) use laptops nowadays.
| kramerger wrote:
| I believe people using laptops at home are the ones with
| USB-C monitors :)
| slig wrote:
| Most USB-C to anything/everything dongles used by MacBook
| users have an HDMI output.
| andrewaylett wrote:
| 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.
| tjoff wrote:
| 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).
| SeriousM wrote:
| A tool called "Vysor" does that very well. Need to compare.
| eddieroger wrote:
| 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.
| cfn wrote:
| 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.
| donato2 wrote:
| 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
| auselen wrote:
| Any explanation on how does it work? Is it via Android's virtual
| display feature?
| netheril96 wrote:
| Is there a reverse scrcpy where I see my computer screen on
| Android? No need for control, just mirroring screen is enough.
| Tajnymag wrote:
| Deskreen
| arcanemachiner wrote:
| VNC server/client?
| aruggirello wrote:
| weylus?
| ASinclair wrote:
| Chrome Remote Desktop works
| stevenhuang wrote:
| Checkout rustdesk, open source vnc with Android client
| [deleted]
| keyP wrote:
| 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.
| chx wrote:
| 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.
| VWWHFSfQ wrote:
| This is most likely just because the app has the secure display
| flag set, not any OS limitation. It's a feature of android
| hunter2_ wrote:
| 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."
| Mattwmaster58 wrote:
| there is am Xposed module that does just this:
| https://github.com/VarunS2002/Xposed-Disable-FLAG_SECURE
| Ologn wrote:
| Comes in handy for me on my Macbook.
| whalesalad wrote:
| can we stop naming things worse than strptime and strftime
| eddieroger wrote:
| 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.
|
| 1. https://github.com/Genymobile/gnirehtet
| rejap wrote:
| Very practical for phones without display port alt mode (notably
| pixels). Works with rpi.
| nprateem wrote:
| 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.
| ChiptuneIsCool wrote:
| Try this https://github.com/pyamsoft/tetherfi It will route all
| hotspot traffic through your phone and vpn. Works even without
| root
| nprateem wrote:
| 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).
| jeroenhd wrote:
| 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_...
| nprateem wrote:
| 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 :)
| wingmanjd wrote:
| 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?
| nprateem wrote:
| 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?
| ttarr wrote:
| 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?
| khimaros wrote:
| also available on CalyxOS
| wingmanjd wrote:
| 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.
| hunter2_ wrote:
| My Pixel 6 Pro doesn't seem to have this. I use Wireguard,
| and hotspot traffic goes directly to cellular data, not via
| VPN.
| RedComet wrote:
| Are you running lineage or some other custom build? Stock
| android doesn't do this afaik.
| tux wrote:
| Very cool, is there something like this for Apple iOS phones?
| ldenoue wrote:
| You can use QuickTime on MacOS to see your iPhone as a video.
| Not sure other platforms.
| cfn wrote:
| 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).
| AlexeyBrin wrote:
| 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).
| KORraN wrote:
| As other comment mentions below, this does not allow
| controlling the device.
| mahathu wrote:
| 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.
| mamborambo wrote:
| 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.
| liendolucas wrote:
| 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.
| joshvm wrote:
| 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.
| princevegeta89 wrote:
| Wow you went to Antarctica? Why?
| mnky9800n wrote:
| 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.
| yurishimo wrote:
| 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!
| ly3xqhl8g9 wrote:
| 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://discover
| ingantarctica.org.uk/challenges/sustainabili...
| mahathu wrote:
| OP mentioned they lived on a station, not doing a cruise!
| joshvm wrote:
| 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.
| joshvm wrote:
| 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/
| bartvk wrote:
| Probably science.
| anaganisk wrote:
| Or penguin videos
| carstenhag wrote:
| 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 :)
| qwertox wrote:
| Thank you! Now I can finally play back the podcasts while hearing
| them on the PC.
| [deleted]
| apienx wrote:
| 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.
| throwaway2056 wrote:
| Do I assume you already have adb/dev settings enabled?
| Kelamir wrote:
| 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.
| throwaway2056 wrote:
| how can you enable ADB/dev settings on the phone with a
| smashed screen?
| abdusco wrote:
| Digitizer was still functional perhaps
| mahathu wrote:
| 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.
| AceLewis wrote:
| 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.
| tiku wrote:
| Simple, just connect your mouse with an usb converter..
| mahathu wrote:
| How are you supposed to know where you click without a
| screen?
| tiku wrote:
| I responded to a comment about a broken digitizer, not a
| smashed screen (perhaps I messed up or comment got
| changed)
| m4lvin wrote:
| 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 :-)
| stavros wrote:
| I'm fairly sure there's a VNC server for rooted Android phones,
| am I mistaken?
|
| Looks like this one will work without root:
| https://play.google.com/store/apps/details?id=net.christianb...
| masfuerte wrote:
| This is a brilliant idea. I will set it up on my Mother's PC.
| moondev wrote:
| 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
| hunter2_ wrote:
| > 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...
| archon810 wrote:
| I think we are talking strictly the Chromecast with Google TV
| here, which is a full Android TV stick.
| hunter2_ wrote:
| That makes way more sense than the simple Chromecast I
| thought we were talking about. Thanks!
| olejorgenb wrote:
| And does _not_ require a rooted phone
| nirajd wrote:
| Can you share more about using scrcpy to install APKs that are
| unavailable for the device via Play?
| geraldhh wrote:
| it's called 'sideloading'
| MishaalRahman wrote:
| You can just drag and drop APK files onto the scrcpy window
| to initiate an install (it just does 'adb install'
| basically).
| solstice wrote:
| Does this mean i can install signal on my tablet?
| Tajnymag wrote:
| 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.
| samstave wrote:
| 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.
| 4gotunameagain wrote:
| 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
| PufPufPuf wrote:
| 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.
| netfortius wrote:
| 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.
| smusamashah wrote:
| 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.
| mightyoj wrote:
| 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
| smusamashah wrote:
| This is a very clever advice. Thanks you. Have to try this
| out.
| andrewaylett wrote:
| 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.
| smusamashah wrote:
| 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.
| hunter2_ wrote:
| I'm not sure, but I feel like if a feature for blind people
| couldn't be turned on blindly, that would be problematic.
| alisonatwork wrote:
| 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.
| nousermane wrote:
| 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.
| wastu wrote:
| You can use mouse with usb otg.
| geraldhh wrote:
| still have to hit an invisible button
| rom1v wrote:
| 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).
| smusamashah wrote:
| Thank you. I haven't tried this either. This sounds very
| doable. Can try this first in emulator.
| sdwolfz wrote:
| You can also use this tool to take a screenshot of an app that
| normally does not allow you to.
|
| Useful if the app has QR Codes that you want to have on hand even
| if there is no internet connection (like Tesco Clubcard)
| EnigmaCurry wrote:
| Lots of apps will still show a black screen via scrcpy:
|
| * The lock screen of the device
|
| * AndOTP
|
| * Bromite Incognito mode.
|
| I think its called a "security screen" which prevents this, or
| something like that.
| coolspot wrote:
| Which you can remove by modifying APK file. I did it for RSA
| token and MS Authenticator and use them via scrcpy.
| student2k wrote:
| Can you control various android phones from one PC with it? Can't
| find it in th documentation.
| vrglvrglvrgl wrote:
| [dead]
| syntaxing wrote:
| 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!
| samstave wrote:
| hmm
|
| https://i.imgur.com/JgcKvUa.png
|
| Cant find ADB device...
| rom1v wrote:
| https://github.com/Genymobile/scrcpy/blob/master/FAQ.md#devi...
| princevegeta89 wrote:
| 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.
| sacredSatan wrote:
| I really like the doc for developers.
|
| https://github.com/Genymobile/scrcpy/blob/master/doc/develop...
| askvictor wrote:
| 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.
| rodoxcasta wrote:
| 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.
| ajolly wrote:
| [dead]
| manucardoen wrote:
| Samsung Dex does this but it only works on some devices.
| atomicnature wrote:
| 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.
| owaislone wrote:
| Incredibly useful for live demos in meetings when working on
| mobile apps/web.
| thecosmicfrog wrote:
| I always pronounce this project as "soccer copy".
| kej wrote:
| I'm sure there are many more practical uses, but it's great for
| automating mobile games.
| julianeon wrote:
| How does that work - what do you do in the games from your
| computer for example? Just curious.
| cfn wrote:
| Not the original commenter but I would use AutoIt or some
| other automation software on the computer to click around the
| game window.
| kej wrote:
| 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/
| kevincox wrote:
| 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.
| rom1v wrote:
| 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).
| quartzic wrote:
| Works well for streaming video from a Quest 2 to a computer.
| phreack wrote:
| 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!
| grokx wrote:
| 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.
|
| Kudos Romain for your work!
| rom1v wrote:
| Thank you for your kind words Guillaume :)
| magneticmonkey wrote:
| I wonder if I can use this while debugging an android app. It
| would be nice to have a real device on my desktop screens while
| coding.
| mathijs wrote:
| Android Studio offers this out of the box since the beginning
| of this year, I believe
___________________________________________________________________
(page generated 2023-04-29 23:02 UTC)