很早之前,做过一个《WinCE远程桌面助手》,在没有屏幕或者在调试LCD驱动时,发挥了很大作用,平日开发也是必备。后来还被网友用于处理一些疑难问题,如无法输入开机密码时可通过该工具远程输入,触屏坏了也可远程操作。后来做Android开发,便有将该工具移植到Android上的打算。只是Android的权限问题比较麻烦,各个版本的适配和兼容也存在很大的问题,移植后的效果不佳。后来陆续使用Total Control和Vysor,感觉Vysor已经够用,就放弃了自己搞的打算。
最近项目中有投屏的需求,于是又进一步研究了Vysor和minicap(STF)的原理。其中Vysor突破了Android的权限问题,具体参见《vysor原理以及Android同屏方案》。而minicap的兼容性和流畅度都非常不错,巧的是其基本框架与《WinCE远程桌面助手》非常相似。于是很方便地将《WinCE远程桌面助手》嫁接到minicap上,做了一个minicap助手,方便在Windows上使用minicap,效果还不错。但由于minicap在屏幕旋转时,需要重启,体验不是很好。另外,远程操作还依赖于minitouch,感觉也不爽,于是又萌发起做一个Android远程桌面助手的想法。虽然破解了Vysor,用着也挺顺手,但感觉还是不太好。另外也担心后续Vysor升级版本后,破解方法失效,不如自己搞一个方便,而且还可以扩展一些功能,便于Android开发和调试。
想到不如做到,于是基于minicap助手又进一步修改,成了Android远程桌面助手。在adb正常工作的情况下,直接运行ADRHOST.exe,它将自动检测Android设备,并安装apk,然后建立连接,并显示Android画面,具体过程如下所示。
Android软件开发最大的问题是版本兼容。目前测试的几款手机,Nexus6P+Android O、Pixel XL+Android N、HuaweiP9+Android N,LG G5+Android6、vivo X7Plus+Android5均可正常使用。
相比Vysor,Android远程桌面助手画面显示更清晰,支持无菜单的纯画面显示,对屏幕旋转的处理更好,但兼容性及帧速会逊于Vysor,不过后面有时间可以慢慢优化。右侧窗口的空间还很大,也需要时间来填满。目前而言,Android远程桌面助手的特性及功能如下:
依赖adb,无需root,画面显示清晰且可调,支持自动保存截图,支持Ctrl+C复制画面到剪贴板,画面显示可缩放可全屏,支持拖拽文件到/sdcard/Download目录,Ctrl+拖拽APK可直接安装apk,鼠标中键模拟Home键,鼠标右键模拟Power键,支持鼠标滚轮操作,支持键盘输入,Alt+D显示设备信息窗口,支持快速重启、进入fastboot及清除logcat。
Android远程桌面助手下载地址:http://files.cnblogs.com/files/we-hjb/ARDC%2820170702%29.rar
特别鸣谢:
android屏幕共享及远程控制原理 vysor原理以及Android同屏方案
版本更新: