很早之前,做过一个《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,均可正常使用。

相比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

鸣谢:

koush/vysor.io        libjpeg-turbo   minicap(STF)

android屏幕共享及远程控制原理      vysor原理以及Android同屏方案

Android远程桌面助手的更多相关文章

  1. Android远程桌面助手(B1391)

    ARDC(B1391), Download:https://files.cnblogs.com/files/we-hjb/ARDC%28B1391%29_EN.7z Android远程桌面助手(B13 ...

  2. Android远程桌面助手(B1371)

    Android远程桌面助手(B1371),下载:https://files.cnblogs.com/files/we-hjb/ARDC%28B1371%29.7z 1.增加了对超大分辨率4320*21 ...

  3. Android远程桌面助手(B1332)之文件管理器

    Android远程桌面助手除了支持Android界面的显示及控制外,还支持Android文件系统的管理,包括文件的快速上传(push).下拉(pull)和查看(cat). Android远程桌面助手( ...

  4. Android远程桌面助手(B1309)

    修改了窗口缩放的处理,支持Android Car等非常规分辨率的Android设备: 修改了获取Android端软件版本的方法,优化了APK的升级逻辑: 优化了远程输入法功能,支持利用PC端输入法快速 ...

  5. Android远程桌面助手(B1185)for Android P开发者预览版

    Android P的开发者预览版已出,其中App compatibility changes部分特别强调“The platform restricts the use of some non-SDK ...

  6. Android远程桌面助手扩展之微信跳一跳辅助

    微信跳一跳的外挂辅助已是五花八门,万能的TB上也有了各种明码标价的代练.微信小程序游戏的火爆甚至带火了手游外挂产业.另一方面,跳一跳游戏也在不断更新,防止使用外挂刷高分.Android远程桌面助手支持 ...

  7. Android远程桌面助手之系统兼容篇

    Android远程桌面助手理论上兼容Android4.4至Android8.1之间所有的原生安卓系统,其他第三方ROM,如MIUI.Flyme.EMUI和Smartisan OS等也都陆续测试过,目前 ...

  8. Android远程桌面助手之性能监测篇

    <Android下获取FPS的几种方法>一文中提到了Gamebench工具,它不仅可以获取FPS,还可以获取CPU及内存占用率等系统状态信息.其局限性也非常明显,切换应用时需要重新选择监控 ...

  9. Android远程桌面助手(Build 0787)

    Android远程桌面助手(Build 0787) 新增: 增加了输入法的快速切换功能,支持通过Google拼音输入法在PC端快速输入中文: 增加了Broadcast的暂停和继续功能: 某些应用截屏失 ...

随机推荐

  1. 【踩坑】360安全浏览器“极速模式”和“兼容模式”,套路还是bug?

    分享踩坑点: 项目中需要兼容360安全浏览器,大家当然都希望用极速模式打开网站,但是发现总是被兼容模式打开 网址类似 aa.xx.dd.com 网上找了很多地方,有以下两种方法 1.<meta ...

  2. JSP----获取表单参数

    在页面中可大量使用 request 对象来获取表单域的值,获取表单域的值有如下两个 方法. • String getParamete(String para mN ame): 获取表单域的值. • S ...

  3. Bootstrap实现轮播图

    第一步:设计轮播图容器:div.carousel,添加slide平滑切换,并定义id,方便后面采用data属性来触发 <div class='carousel slide' id="t ...

  4. OpenCV探索之路(十):图像修复技术

    在实际应用中,我们的图像常常会被噪声腐蚀,这些噪声或是镜头上的灰尘或水滴,或是旧照片的划痕,或者是图像遭到人为的涂画(比如马赛克)或者图像的部分本身已经损坏.如果我们想让这些受到破坏的额图片尽可能恢复 ...

  5. 3、J2EE学习推荐书籍

    3.J2EE学习推荐书籍       J2EE的学习应该循序渐进,一本好书会很快上手和深入.在学习J2EE之前,应该学好SQL,基本上,程序设计都会跟数据库打交道.如果SQL没学好,就如同房子没有基脚 ...

  6. 源码阅读—Iterator接口和LIstIterator接口

    在继续看ArrayList源码之前,先了解Iterator接口和ListIterator接口,下篇文章详细讲解ArrayList是如何实现它们的. 我们知道,接口只是一种规范,当继承接口并实现其中的方 ...

  7. Python中的模块介绍和使用

    在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一 ...

  8. Spring+SpringMVC+MyBatis深入学习及搭建(六)——MyBatis关联查询

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6923464.html 前面有将到:Spring+SpringMVC+MyBatis深入学习及搭建(五)--动 ...

  9. Unity应用架构设计(11)——一个网络层的构建

    对于客户端应用程序,免不了和远程服务打交道.设计一个良好的『服务层』能帮我们规范和分离业务代码,提高生产效率.服务层最核心的模块一定是怎样发送请求,虽然Mono提供了很多C#网络请求类,诸如WebCl ...

  10. Python 操作 Azure Blob Storage

    笔者在<Azure 基础:Blob Storage>一文中介绍了 Azure Blob Storage 的基本概念,并通过 C# 代码展示了如何进行基本的操作.最近笔者需要在 Linux ...