scrcpy是安卓上一个开源的投屏工具,把手机端屏幕实时投到pc上,pc端可以是跨平台的,windows、Linux、Mac都支持。最早我是用它来投屏来录制一些教学视频,这样可以将pc的桌面和手机画面很方便的同时录制下来。后来慢慢发现scrcpy远不止投屏这么简单,他还可以:
而且所有的这些都不需要root,实在是方便,对我个人来说,我是微动手势、碎片记忆等多个App的开发者,常常需要在酷安上回复用户的问题,手机打字的效率让我倍感折磨,而酷安没有pc端可以用,所以我一直在寻找提高输入效率的方法和工具,我用过蓝牙键盘,尝试过安卓上一些支持远端输入的输入法,甚至想自己开发一个双向同步剪贴板的工具,直到最终使用scrcpy,我想应该是没必要再自己开发工具了,下面这张图来自官方,就是启动scrcpy之后弹出的手机端画面。
技术上来说,scrcpy是通过adb调试的方式来连接到手机,并将手机屏幕投到电脑上,同时可以通过pc控制您的安卓设备。因为adb是可以通过USB连接,也可以通过wifi连接。所以scrcpy也就具备了有线和无线两种连接方式,我在之前有个帖子专门详细描述了wifi连接adb的方法和好处,我在日常也一直都使用wifi来使用scrcpy,非常好用。
下面是来自官方给顶的几个scrcpy的特性:
使用scrcpy的要求有以下几点:
安卓手机的adb调试的开启一般是在开发者选项里,很多手机的开发者选项默认是隐藏的,需要多次点击手机系统版本,就可以看到了。
下载对应你的操作系统的scrcpy版本,以windows为例,下载scrcpy,最新版本为1.13。
下载地址:https://github.com/Genymobile...
无需安装,解压就好。解压后的目录如下:
打开windows命令行程序(cmd),定位到此目录,确认手机端usb调试已经开启,然后手机通过usb或wifi连接到电脑。首次连接会弹出是否信任该电脑,点击始终信任即可。运行adb devices查看是否连接成功,如图:
然后运行scrcpy即可弹出手机画面的实时投射了。我在大部分情况下都使用无线连接,使用无线的话,由于带宽一般小于有线连接,而默认的scrcpy比特率比较高,这对于无线连接来说可能造成卡顿。还好scrcpy停供了一些命令行参数进行调节,降低比特率和分辨率,所以我实际上使用的命令行是:
scrcpy.exe -b 1m -m 1024 --prefer-text
-b和-m分别是控制带宽和分辨率的,可以根据自己的实际带宽情况调整, --prefer-text参数会在下面讲到。
看到手机画面后,scrcpy提供了很多快捷键方便来控制安卓端,常用的大概有:
而且scrcpy通过鼠标对触摸的模拟很全面,长按和拖动都可以模拟,这让我挺诧异的,因为我自己开发的微动手势有个功能,就是模拟鼠标,我知道想要模拟一个拖放操作还是很困难的,但是scrcpy完美的做到了。基本上,熟练以后可以用scrcpy在pc上控制安卓做任何事情。
我不太玩游戏,scrcpy受到带宽的限制,看官方的帧率说是30-60fps,加上投射本身对cpu的占用,估计对游戏不会有太好的支持,除非是一些对帧率要求不高的休闲类游戏,否则在游戏上对scrcpy不要有太高期望了。
不过,scrcpy内置对按键的支持,所以如果一款游戏支持蓝牙键盘,那么就可以通过scrcpy使用pc键盘来玩。
scrcpy对我来说,最大的作用还是在于快速输入,可以用pc键盘完成酷安等app的文字快速输入,当然,要选择一个合适的输入法。经过测试,那些能蓝牙键盘有很好支持的输入法对于scrcpy也能很好的支持,可以大幅提高输入效率,我使用的谷歌拼音和讯飞输入法都能比较好的支持pc键盘的快速输入。
有时候,我们需要从pc端复制一些文字到手机端,比如在pc的浏览器上搜出的一些信息,要传到手机上,scrcpy提供了按ctrl-v可以将pc粘贴板直接粘贴到手机端,但是很可惜,这种方式是把文字转换为按键一点一点在手机端重放,也就是说还是通过安卓端的输入法“输”进去的。那么对于中文就完全不可行了,没办法直接复制。
而且就算是英文,scrcpy在缺省情况下,是通过模拟每个字符的按下和弹起来做ctrl-v的,这样的话,对于很多输入法,会导致粘贴的英文和实际输出的英文不一致的情况(比如很多输入法判断出首字母会自动大写),好在scrcpy提供了一个命令行参数--prefer-text可以通过字符的方式进行ctrl-v,而不是模拟按键,这样实测的结果是英文的粘贴基本没有问题了。
对于中文无法直接粘贴这个问题,scrcpy提供了另一个很好的解决方案,就是剪贴板同步的功能,按Ctrl-shift-v,可以直接把pc端的剪贴板同步到安卓端,然后直接到需要的地方再长按粘贴就可以了,完美解决中文问题。