Scrcpy - Android Screen - Display & Control - Windows / Linux / Mac - Android General

There's a really cool light-weight tool that was developed by ROM1V to provide display and control of Android devices connected on USB. It does not require root access and does not require an application to be installed on the device! It works on GNU/Linux, Windows and MacOS.
It runs via ADB reverse.
I haven't seen anyone share this yet, so... here goes. Full credit to the author of this tool, ROM1V.
I've used this on both Linux and Windows variants. Both work quite well! There's a pre-built Windows package with all dependencies within the README. My experience is that Linux runs very smoothly, but the Windows variant is a little buggy.
Here is the link to the Github
(Sorry, I'm still *somewhat* of a new member and can't yet post external links... [been reading for years; posting... no so much]. I apologize, but you'll have to assemble this link a bit). Perhaps an admin might clean this up a bit.
github . com / Genymobile / scrcpy

This tool is GREAT!!! Mirrors your android screen on laptop over reverse ADB and without root and without installing anything on the device.
I used it on mobile which had its display totally non-functional but touch was working. Fortunately, ADB was enabled. All I had to do was unzip scrcpy files from https://github.com/Genymobile/scrcpy and refer to the FAQ at https://github.com/Genymobile/scrcpy/blob/master/FAQ.md. I could recover all my data from the device and even use the device seeing it screen and controlling it from my laptop.
But obviously, use cases go much beyond that and this is a full fledged screen copying tool. If you use your android while at your desk and keep it connected to your laptop then this gives the comfort of using your keyboard for typing long messages as well. Videos also play smoothly on computer screen but voice comes from mobile speakers (...if there was a way to route that to the laptop speakers, that'll be great and make it almost like an HDMI connection to a laptop over USB!).
Great job done, developers @ https://www.genymobile.com/ :good::good::good::good::good:

rk2612 said:
This tool is GREAT!!! Mirrors your android screen on laptop over reverse ADB and without root and without installing anything on the device.
Click to expand...
Click to collapse
I agree.
And, in Android 12, there's no need to establish the initial connection over USB.
Android 12 has the Wi-Fi debugging option in Developer options!

Related

[Q] is /dev/bus/usb/* Standard in Android

I have an ePad (Android 2.1) that mounts usb devices in the normal Linux way so that I can use libusb to access them, I have managed to control my usb robot arm using an NDK app. Before I move onto making it a proper app instead of a hack job I wanted to know if the usb device files are standard to Android or if it's specific to my system.
Put it this way, if I make a nice cuddly app is it going to fail on most devices or work on most devices? (ones with USB OTG interface)
Sorry, I understand this could be a 'how long is a piece of string' type of question.
Many thanks,
Richard e Collins.
After a few hours of routing about on the internet I found an article on an exploit on the init daemon, google "android-root-source-code-looking-at-the-c-skills". This gave enough insight for me to deduce that this functionality I am getting is present on at least anything running 2.1 and above and is not a customisation unique to my device.

IPv6 - now working on Android! (no matter if your provider supports it)

I searched xda-developers a lot about IPv6 (Android related) but only questions, no one seamed to get it to work. Now I got IPv6 working on my Android phone and I want to share it.
Of course I can not held any responsibility for anything. I am no developer, just a user, who used Google a lot and who put a lot of single things together. Rather I am not sure why it works, but it does work.
Quick guide:
1. find out if Linux (Debian) is available for your Android phone and learn how to use it
2. find out if a tun module or a kernel with tun support exists for your phone
3. learn how to use IPv6 on Windows (if you are a Windows user) (I was happy with gogo Client at http://gogonet.gogo6.com/page/download-1) and on normal Linux (normal in meaning of running on PC) (I used miredo first)
4. learn what aiccu is and how to use it on PC
5. install Linux (Debian) on your phone
6. load the tun module (or use a kernel with tun support)
8. register aiccu
9. request tunnel at aiccu
10. install aiccu on your rooted Android phone (with tun) inside Debian chroot
11. done, test "ping6 ipv6.google.com" inside console, should work, and test in Android stock browers, it should also work!
Comprehensive guide:
First of all, before you start fiddling with Android and IPv6, which is quite tricky, I highly recommend to learn how to use IPv6 on Windows (only if you are a Windows user) and on some Linux distribution (Debian or Ubuntu recommend, as Debian is imho the most easy to get Linux for our Android phones).
On Ubuntu, which was running in VMware, I installed a package called miredo.(used this guide https://wiki.ubuntu.com/IPv6 look for miredo) It is a great piece of software. I just installed it and afterwards an apache2 webserver and the server was reachable from outside the virtual machine. Furthermore I did run another virtual machine with XP, both virtual machines, XP and Ubuntu where behind NAT (standard network configuration in VMware, setting up port forwardings is quite complicated) and also my router has a NAT and Windows firewall on host computer was also activated. Still... From the XP virtual machine I could access the apache2 running on Ubuntu. Great. You do not need VMware to learn how to use IPv6, of course, you can also use real hardware, but for me, VMware is very convenient.
Also learn what aiccu is and how to use it (https://wiki.ubuntu.com/IPv6#Get_connected_with_SixXS).
After you just learnt how to use IPv6 on normal Linux (normal refers to the normal end user version, no hacked stuff for Android) you have to learn how to use Linux (Debian) on your Android phone.
I used this guide http://forum.xda-developers.com/showthread.php?t=1254283 but you will need another guide for your phone, because this is phone specific. Google the name of your phone in conjunction with chroot, Android, Linux, Debian or search xda. It may not be possible to install Linux on all Android phones. I do not know that and I can not help you with that because I am a Linux noob. Of course, maybe you don't have to use Debian on your phone, I just like Debian because imho you'll find most informations in conjunction with Android about it and because it's more newbie friendly in general compared to other Linux distros. So maybe you prefer some other distro.
Then you need to get a tun module for your phone/kernel or a kernel with tun support for your kernel. Load the module.
You need to register for aiccu and also request a tunnel.
Afterwards, last step, install aiccu. I think I edited aiccu.conf and entered username and password.
ping6 inside Debian chroot is working for me and also in Android stock browser I can access IPv6 websites.
There are quite a lot requirements and things to learn before, I am sorry, because I can not ease this process.
Right now I also can not tell you nothing about how stable this works, how reliable it is or what the benefits are.
Update:
Working - 3g connection on phone (everything only IPv6 of course)
- apache2 webserver
- SSH server - access with Putty
- SFTP - access with FireFTP or WinSCP
Native aiccu for Android
Some time ago, I hacked together a native aiccu port for Android. I only tested it with AYIYA tunnels. It worked greatly both on Android 2.1 in a Xperia X10 mini pro and on Android 2.3 in a Galaxy Tab.
To use, copy the aiccu-android-bin.7z contents to your phone and put your config at /data/aiccu/aiccu.conf.
Please note that you HAVE to use the provided "ip" executable. The one provided with busybox is incomplete for usage with aiccu, and won't work.
The aiccu-android-src.7z contains the source code if someone is interested in hacking deeper. In particular, testing heartbeat tunnels and seeing if any changes are needed to the source would be nice. Also, cleaning up and trying to push upstream would be great.
Nice thx
Sent from my MB860 using Tapatalk
thotypous said:
Some time ago, I hacked together a native aiccu port for Android. I only tested it with AYIYA tunnels. It worked greatly both on Android 2.1 in a Xperia X10 mini pro and on Android 2.3 in a Galaxy Tab.
To use, copy the aiccu-android-bin.7z contents to your phone and put your config at /data/aiccu/aiccu.conf.
Please note that you HAVE to use the provided "ip" executable. The one provided with busybox is incomplete for usage with aiccu, and won't work.
The aiccu-android-src.7z contains the source code if someone is interested in hacking deeper. In particular, testing heartbeat tunnels and seeing if any changes are needed to the source would be nice. Also, cleaning up and trying to push upstream would be great.
Click to expand...
Click to collapse
Very nice. This simplifys the process a lot.
Unfortunately this does not work on my x8. Maybe because busybox is preinstalled with my ROM?
When I do acciu test, it complains about the ip executable. But I already copied both.
Can I get ride of the old buybox ip? Should it work on x8 as well?
T-Mobile USA has an beta native IPv6 service for ICS Nexus S and Galaxy Nexus UMTS phones. You can google the details. It is natively supported on the stock ICS software now using the UMTS network.
New solution:
https://code.google.com/p/gogodroid/wiki/GogoDroid
drawback:
needs ROM (kernel) with TUN (but any app could null that dependency)
First of all thanks for your work of putting all these information together!
I am using a Galaxy Nexus which allready has tun built in to the stock rom (ICS 4.0.4).
Unfortunately I cant get gogoDroid working. It seems it doesnt recognize the built in tun functionality.
So I tried it with the tun.ko module - no luck there neither, since there is no compiled version for the IMM76I Build :-(
Any suggestions on how to get it working anyways?
Edit: I also found another app which supports 6to4 tunneling called IPv6Config - you can find it on the Play market. Unfortunately 6to4 doesnt get thru NATted mobile networks...
Hello all !
Sorry to dig out this old thread again but here some infos about running IPv6 tunnels on a rooted Android phone.
I wrote a little app to simplify the installation, configuration and running the binaries posted by thotypous:
The app is called Androiccu and you can find it in the google market. Sorry, I'm not old enough to be allowed to post a link to it.
It's still in an early development stage but it does basically work for me and I would enjoy some feedback about success or failure.
This application downloads and installs the binaries, creates a config file with your login infos and can start and stop aiccu. All from a GUI, no need to play on a terminal.
Cheers and have fun testing.
why tunnel when you can have native ipv6 https://sites.google.com/site/tmoipv6/lg-mytouch
elgato99 said:
why tunnel when you can have native ipv6
Click to expand...
Click to collapse
Because most mobile network operators don't provide native IPv6 yet. You're among a few lucky ones that has such an operator. I'm not. When i'm at home i don't need this app as my router provides natively an IPv6 address to my phone over the wifi network. But on my router itself i have to run a tunnel as well as my provider is also not able to provide IPv6.
The biggest aim of this application is to become quickly obsolete when finally all mobile network operators will be able to provide IPv6 natively.
Best regards,
Martin
ty for info. my phone now running sixxs and route it on hostpot.
core7x said:
ty for info. my phone now running sixxs and route it on hostpot.
Click to expand...
Click to collapse
I have a sixxs tunnel. But how can I route this to wifi tethering? My ipad is connected to the wifi hotspot from the android, but the ipad can not resolve ipv6.google.com, but the android can do this.

Zune Driver for ARM to allow USB phone connection

Hi Folks.
With both a Zune HD and WP7 devices not supported via USB conenction to a Surface RT, I was thinking there had to be a way to tweak/re-write the ZuneHD / Zune driver files to allow them to be installed on the Surface RT...The ZuneHD is an ARM based device running Windows Embedded - and RT is an evolution of Windows CE you might say.
If so, the earlier regedit hack to allow the WP7 (or ZuneHD) to connect as a USB mass storage device would hopefully be possible, without the full ARM recompile of the Zune software (a near impossible task).
It's ridiculous that pre WP8 devices cannot even be connected via USB to facilitate file transfers "non-cloud" way.....
I tried manually updating drivers on the Surface RT with my ZuneHD connected - pointing at the Zune 4.7 drivers, and it confirmed that they were not ARM compatible.
Cheers,
Sheeds.
...
"tweak/re-write" an x86 kernel-mode driver into an ARM kernel mode driver for installation on a platform that doesn't (currently) permit unsigned drivers at all? You act like you have some idea what an instruction set architecture is, but you say this. If I ran this entire message through a translator to Finnish and then ROT-13'd it, you'd probably have a better chance of understanding the post than of managing to get the existing x86 Zune driver working on RT without a full re-write plus an additional hack to bypass driver signing. The Zune driver isn't exactly open-source... binary emulation *might* work at some point, but it's not practical for a kernel-mode driver (signature checks or not).
There is not, and never was, a hack to allow Zune-like devices to connect using UMS. The hack you're referring to merely un-hid the MTPZ (Media Transfer Protocol, Zune) devices from Windows Explorer. MTP(Z or not) and UMS are not at all the same thing, although they can sometimes be used for some of the same purposes.
We'd have a much better chance of getting Zune to run on RT, actually. That's "just" a matter of emulating an x64 machine for it to run on and passing its system calls through to the real OS and back again. Won't do any good for this use case without the driver, of course.
What does it matter that RT and CE run on the same ISA? The driver that we need is x86/x64 only.
There is basically nothing in common between CE and NT, aside from the fact that they're both portable operating systems from Microsoft and both implement some large portion of the Win32 API. Claiming that "RT is an evolution of Windows CE" is laughably wrong. They probably have less in common than Windows 95 (9x kernel, partially based on Win16 code) and Windows 8 (NT kernel, completely different project that contains no portions of DOS/Win16 except the re-implementation of the shell in NTVDM) - at least Win8 can run (many) Win95 apps. CE is at least as different from each of those as they are from eachother.
At this point, I'd guess that the most practical way to connect Zune on Windows RT would be the following:
a) Use a full x86-machine emulator (Bochs or QEMU, for example).
b) Use one that does JIT and/or dynamic recompilation, so the performance isn't abysmal (not sure what qualifies here...)
c) Install XP on it (no point targeting something newer).
d) Install Zune on the emulated XP.
e) Forward the tablet's USB port to the emulated machine's USB port (not sure if anybody has the ability to do this... currently, we can't even get networking in the emulated machine).
Good luck with that! I actually mean that quite seriously, I have a WP7 device myself and it annoys me that my Surface and it can't communicate except over Bluetooth (and I had to hack the phone to get that much).
GoodDayToDie said:
...
"tweak/re-write" an x86 kernel-mode driver into an ARM kernel mode driver for installation on a platform that doesn't (currently) permit unsigned drivers at all?QUOTE]
LOL - Thanks for the informative reply Luckily I have no delusions of grandeur over the fact that I am A) not a Developer and B) can't code past "hello world"
I was coming from the angle of the old registry hack for WP7 which allowed your phone to work as a USB mass storage file by a simple change via regedit to one of the registry strings associated to the Zune Driver....Certainly ignorant of the finer (and even the coarser) detail of your reply...so thanks for the explanation.
I added a MS Answers post asking why Microsoft cannot provide USB device connection for legacy WP7 and ZuneHD units with Windows RT. Be interesting to see what they or their MVP's reply to this, if at all.
Cheers.
Click to expand...
Click to collapse
Yeah.. asking MS to support the devices is definitely the best approach. We might manage to make a user-mode connection to them using some third-party software talking directly to the USB port on sufficiently hacked RT devices, but that's about the best we'll get.
Also, I really with people would stop calling it a "USB Mass Storage" hack. I've posted to that effect in the relevant forums that I can find, too. This is not now, never was, and (short of custom ROMs or special bootloader modes) never will be a UMS interface to Zune-like devices. The device literally doesn't support it. Please don't confuse Media Transfer Protocol for USB Mass Storage. They are *not* the same. For example, those nicely named music files you see when using the "UMS" hack for WP7/Zune? *THEY DO NOT EXIST* anywhere on the device's filesystem. True, there are files containing the same binary data, but they have names like "2D.mp3" and are stored in a filesystem structure designed to make referencing them in a database faster. MTP exposes a hierarchical storage system (which may, coincidentally, mirror the filesystem although it does not do so on Zune-like devices), but it does *NOT* expose the filesystem/storage (which is what UMS does).

Direct Wi Fi Connection between Android and PC?

Hi guys! After searching for months on google I decided to ask it to pro developer of this awesome forum. Is it possible to have a Direct Wi Fi Connection between my Android device (Lg L5 e610) and my PC (Win7, Ubuntu 13.04, Mac OSx Snow Leopard)? Is there any tool or program to do it? Or at least a developement project (I like to be a tester)? I found some solutions for my question but they need to a router to work :crying: and i haven't it
Sorry for my very bad english and applauses to this awesome community!
ZiO312 said:
Hi guys! After searching for months on google I decided to ask it to pro developer of this awesome forum. Is it possible to have a Direct Wi Fi Connection between my Android device (Lg L5 e610) and my PC (Win7, Ubuntu 13.04, Mac OSx Snow Leopard)? Is there any tool or program to do it? Or at least a developement project (I like to be a tester)? I found some solutions for my question but they need to a router to work :crying: and i haven't it
Sorry for my very bad english and applauses to this awesome community!
Click to expand...
Click to collapse
Not exactly what you are looking for but could work
http://virtualrouter.codeplex.com/
I search for something that could use the direct wi fi technology between PC and android without router or internet
+1
Yes there be plenty of ways. If you want commanding access thru the command line and you're running root, then try wireless Android debugging bridge (usually found under developer settings I think) or download an ssh server app from the market place (some don't require root and you can find a good list of apps to test herehttp://android.stackexchange.com/questions/9905/is-there-some-ssh-server-for-android from Android stack exchange) further more if you are running root and you want the screen and all the GUI there are apps that let you do this too such as Droid vnc serverhttp://www.google.com/url?q=https:/...dycANA&usg=AFQjCNGQZqmOFJI8BJfOYyjJ9Gi1sjm_Rg
One weird word of warning about some of these; if you're on a nice network service provider, then some of the above apps work over 3G or 4G too. sooooo set a good password and don't forget to turn it off when you're done with it
So that's something for android what about the other end of the connection? The client side of things
On my laptop I've access to Vista and Ubuntu 12.04
For Vista I use Putty to connect via ssh and it works fine over wifi. I have yet to figure the GUI side for Windows but I've been working on it.
For Ubuntu I use remia to view the GUI of linux running on Android, works fine but have yet to test droid VNC server for the android GUI. And sshing in through command line wasn't a problem over wifi.
For more info on the android linux to pc connection see section 7 in the bellow links to the guide I maintain for such things.
Edit- I see that the formatting using mobile XDA app still leaves me wanting better functions, I'll see about fixing it when on a PC. In the meantime try this app
[APP][2.1+] SSH Server - SFTP, SCP, multiple users, per user public key auth, no root
http://forum.xda-developers.com/showthread.php?t=1896428
Looks like it'll have some good options on connections and such
Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
+1 Nice But How To make Direct Wi Fi Connection between android and other android
alaa1988 said:
+1 Nice But How To make Direct Wi Fi Connection between android and other android
Click to expand...
Click to collapse
Well I've been able to run server and client services on either side of the following setup;
1 turn wifi tethering on one device (I'll call this device Wabafet)
2 connect to Wabafet with another device (I'll call this device Q)
3 run what's my IP searches for Q and for Wabafet
4 start server service on Q and client services on Wabafet
5 connect to server on Q with Wabafet and enjoy
Note; this set up keeps Q from being seen over the rest of the net, and some kind of port forwarding is needed to make it viable outside of the local wifi network
Note 2; if you connect a third device to Wabafet as a client you can still access the server on Q
Note 3; if you run a server on Wabafet and on Q then both can also run client services too and connect to one another
Note 4; if you've got a wireless router then you can skip the part about wifi tethering and instead connect Wabafet and Q to the router instead, however, this may require port forwarding to be set up on your specific router.
As far as wifi to wifi without a router or hot spot... I think setting a static IP in your wifi settings on Wabafet and on Q and then turning on but not connecting to a router should allow the devices to scan and connect to one another... But this will require some kind of client server set up again and will require that the apps being used don't require an active network to start. Droid vnc is a good example of this and has been reported to work over bluetooth too and even when the device is in airplane mode when the app starts.
You can find more info on this here: [Q] is theirs any app or way to share a screen? http://forum.xda-developers.com/showthread.php?t=2422782
Update 08312013 11am- found this short and sweet guide for connecting to your device from a linux pc
http://shujinkou.blogspot.com/2009/04/how-to-vnc-from-android-phone-to-linux.html
likely you can use the same apps and set up on the device side of the guide and then modify the pc side of the guide to suit your needs, such as mac, vista and such. For windows I would suggest putty; its very friendly and there are many good guides for how to use putty as a client on the web, but let me know if you need help with that too oh and hit the thanks or something if this is at all helpful or let me know how better to help.
Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
WiFI Direct is supported out of the box for Win8 as well as JellyBean. However, they way they are supported, even thought you can "pair/connect" over WiFi Direct, you need an application to take advance of this "pipe". As far as I'm aware there are currently no apps that can directly connect a Win8 device and an Android device over WiFi Direct to share a file.
Coincidentally, I'm working on an app that at least can do so with Android. Based on the OP's post, he seems to be describing AirDrop. I think what I'm doing is "better", but users will tell =) I am putting it out on limited Private Beta soon, so if you're curious to what all the buzz/fuss is about, go to www.get-drop.com.
S0AndS0 said:
Well I've been able to run server and client services on either side of the following setup;
1 turn wifi tethering on one device (I'll call this device Wabafet)
2 connect to Wabafet with another device (I'll call this device Q)
3 run what's my IP searches for Q and for Wabafet
4 start server service on Q and client services on Wabafet
5 connect to server on Q with Wabafet and enjoy
Note; this set up keeps Q from being seen over the rest of the net, and some kind of port forwarding is needed to make it viable outside of the local wifi network
Note 2; if you connect a third device to Wabafet as a client you can still access the server on Q
Note 3; if you run a server on Wabafet and on Q then both can also run client services too and connect to one another
Note 4; if you've got a wireless router then you can skip the part about wifi tethering and instead connect Wabafet and Q to the router instead, however, this may require port forwarding to be set up on your specific router.
As far as wifi to wifi without a router or hot spot... I think setting a static IP in your wifi settings on Wabafet and on Q and then turning on but not connecting to a router should allow the devices to scan and connect to one another... But this will require some kind of client server set up again and will require that the apps being used don't require an active network to start. Droid vnc is a good example of this and has been reported to work over bluetooth too and even when the device is in airplane mode when the app starts.
You can find more info on this here: [Q] is theirs any app or way to share a screen? http://forum.xda-developers.com/showthread.php?t=2422782
Update 08312013 11am- found this short and sweet guide for connecting to your device from a linux pc
http://shujinkou.blogspot.com/2009/04/how-to-vnc-from-android-phone-to-linux.html
likely you can use the same apps and set up on the device side of the guide and then modify the pc side of the guide to suit your needs, such as mac, vista and such. For windows I would suggest putty; its very friendly and there are many good guides for how to use putty as a client on the web, but let me know if you need help with that too oh and hit the thanks or something if this is at all helpful or let me know how better to help.
Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
Click to expand...
Click to collapse
try to put a wifi dongle in your pc and use an program like... ah i forgot the name! but it is use to let the dongle release a signal like router
U can also use airdroid.
Sent from my Galaxy Nexus using Tapatalk 4.

New Screen Casting Software

Hello guys, this is my first post on XDA though I have been lurking.
I am developing a screencasting software which I felt I should share with the community.
I needed to access my phone with a damaged screen so I wrote this as I couldn't find anything that fit my needs.
The only tool that came close was a 6 year old unmaintained project androidscreencast (on google code) that needed root.
I took pointers from the project and started this one in JavaFX.
It does not require root but utilizes adb commands to send input to the device so should work on all devices.
You need adb installed.
Your device must be developer enabled and discoverable by adb.
Tested on windows and a device running 4.4.2
Currently it is still in development so I haven't released any builds yet, but it works really great. I would love it if someone tested in on unix to see if it works.
You can find it on github under frostymarvelous/AndroidScreencast

Categories

Resources