2020-01-09 Scrcpy+zerotier 实现手机远
常规scrcpy连接手机请参考各位大大帖子,简要如下
首先让手机和电脑位于同一局域网下
首先用USB连接成功手机(可能是必要步骤);
可参考https://www.jianshu.com/p/102d1b3e1add
然后,在以上基础上
在终端输入
adb tcpip 5555
断开手机与PC的USB连接,在终端输入:
adb connect 手机IP:5555
比如这样:
adb connect 192.168.0.1:5555
终端会返回显示:
connected to 192.168.107.132:5555
然后运行
scrcpy -S
连接设备即可
以下为重要步骤:
理解下面这句话,你就成功了。
最重要的可能是要让手机和设备处在同一个局域网中,可以是同一个wifi,当然也可以我们自己模拟一个局域网出来,那么工具很多了。我是选择用zerotier one打造一个全球局域网。
ZeroTier 是一款非常简单易用的内网穿透工具,不需要配置,就能实现虚拟局域网的 ... ZeroTier 支持Windows、macOS、Linux 三大主流平台,iOS、Android 两大移动平台
那么满足局域网的条件后,理论上我们用zerotier+scrcpy,直接可以实现远程ip连接手机。
下载软件和安装zerotier请参考,有安卓下载链接
2019-12-14 蜗牛星际C单+群晖+ZeroTier,5分钟实现内网穿透,异地访问家里NAS
安装好,获得手机的局域网ip后,继续下面步骤(当然可以先获得手机ip)
adb connect 手机IP:5555
再次运行
scrcpy -S 时候,会报错,因为存在两个设备了。
输入
adb devices
查看是否存在多设备image.png
用-s
指定设备,指向你设置好的ip
adb -s 172.168.0.88:5555
##172.168.0.88换成你自己设置好的手机局域网ip
再次运行
scrcpy -S 连接设备即可
实测连接远程ip成功!公司电脑连接家中手机:开机,开zerotier就好
image.png速度不如局域网那么快,但是操作手机无问题,显示无问题
image.png嗯。。总感觉暴露了什么
有个帖子这样说,挺有道理
但在无线模式下,网络速度可能不如usb直线快,所以需要在scrcpy启动的时候,增加几个参数,控制scrcpy的屏幕分辨率和压缩率,需要两个参数:
scrcpy -m 600 -b 1m
这两个参数分别控制屏幕分辨率和压缩码率,根据你自己的无线网速来调整就好,这样也可以愉快的通过无线使用scrcpy的远程控制功能了。
如果下次连接时出现adb offline, adb no device 之类的错误
image.png
image.png
解决方法
step1: 'adb kill-server'
step2: 'adb devices'
step3: adb connect 手机IP:5555
step4: scrcpy -S
连接设备即可
需要注意的几个问题:
- 手机上的zerotier需要打开不要关闭,有时候可以长时间打开不被杀,有时候自己就关闭了,就连不上了。可能需要某些操作,我还没有想到,请熟悉的朋友有办法留言告诉下我。
- zerotier指定一个机器的ip之后不会变(至少我现在看来),因此只要可以连得上,应该是可以长期使用的。最好连之前ping一下这个ip,可以ping通就没问题
- 我说任意手机,,限定为自己的任意手机(安卓,其实ios我也没试,理论可行。。。)
- 本方案应用场景:
- 一般是忘带手机,,或者不方便带手机的地方可以操作手机
- 向日葵的远程手机屏幕可能就是这个原理;省了个会员
- 手机丢了,,想知道在哪儿。。。开录音,拍照,摄像。。
- 远程监控??
- 欢迎大家开个脑洞,请给我留言吧
本文参考了
作者:Yes_cug adb ip连接方法
链接:https://www.jianshu.com/p/371551ac8fc8
作者:edrain
链接:https://www.jianshu.com/p/2ca51dae5365
后面发现github上有人也发现了这个方法,哈哈
https://github.com/Genymobile/scrcpy/issues/738
再推荐一款软件,据说投屏也很不错,我还没用。不过如果可以,配合本教程,也许也能发挥更大的功能。
https://www.apowersoft.cn/phone-mirror