RemoteControl 相关技术及产品初步调研

一、RemoteControl 相关产品

1. TeamViewer

官网:https://www.teamviewer.cn/cn/

2. TotalControl

官网:http://tc.sigma-rt.com.cn/.

3. 向日葵远程控制

官网:https://sunlogin.oray.com/

4. Realvnc

官网:https://www.realvnc.com/en/

5. AirDroid

官网:https://www.airdroid.com/zh-cn/index.html

6. Scrcpy

项目地址:https://github.com/Genymobile/scrcpy

二、远程控制技术

1. PC ---> Android :

此技术相对成熟了,且无需Root操作,即可实现在PC上浏览Android设备界面并实现在PC上操作Android。

其中:USB连接开启调试模式进行控制的方案较为简单。TCP控制的实现较为复杂,但是都是属于可以研究的方向。

2. Android ---> Android:

此技术存在较大壁垒,如果被控制的Android设备没有root的话,那么我们无法通过执行su+命令操作来完成对被控制设备的远程控制。

一般仅仅能做到远程镜像或者远程摄像头的程度。

3. Android ---> PC:

此技术也是相对成熟了,且市面上实现这个需求的技术厂商还是很多的。实现方案待整理和实现。

三、实现方案&研发逻辑

1. 方案一

Adb技术实现PC远程控制Android设备

准备工作:

  1. USB 连接Android设备。
  2. Android 设备打开开发者选项和USB调试。

开发逻辑:

  1. 使用 adb devices ** 相关命令获取当前连接的设备列表
  2. 使用 adb shell screencap ** 相关命令定时获取屏幕的画面并刷新到远程控制页面
  3. 使用 adb shell input ** 相关命令实现远程控制

实现方案优点:

  1. 免Root
  2. 开发实现相对简单

实现方案缺点:

  1. 远程画面帧率太低,远程端体验不好
  2. 实时性较低,操作感较差

项目代码地址:https://github.com/renhui/AdbRemoteControl

 

2. 方案二

考虑到方案一的实现,最大的问题在于远程画面帧率问题,可尝试进行优化。

可以考虑使用 minicap 获取手机实时屏幕。

参考项目:

https://github.com/openstf/stf

https://github.com/openstf/minicap

参考Demo:

https://github.com/huanglqweiwei/PhoneMirror

https://gitee.com/phery/minicapGo

四、拓展阅读

8分钟带你了解 OpenSTF:https://www.it610.com/article/1293550222558961664.htm

OpenSTF二次开发:https://blog.csdn.net/weixin_43164644/article/details/82823176

基于Scrcpy 的远程调试方案:https://testerhome.com/topics/21647

STF 工具之 minicap-补充:https://testerhome.com/topics/8070

 

 

posted @ 2020-11-28 12:42  灰色飘零  阅读(399)  评论(0编辑  收藏  举报