很早之前,做过一个《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. 密码学之DES/AES算法

    本文示例代码详见:https://github.com/52fhy/crypt-demo DES DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算 ...

  2. 【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。

    一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key= ...

  3. Bash Excercises

    1. cat <<EOF #!/bin/bash function printHelp { cat<<EOF Run the Dash vector tests. Usage: ...

  4. vue的双向绑定原理及实现

    前言 使用vue也好有一段时间了,虽然对其双向绑定原理也有了解个大概,但也没好好探究下其原理实现,所以这次特意花了几晚时间查阅资料和阅读相关源码,自己也实现一个简单版vue的双向绑定版本,先上个成果图 ...

  5. 解决ubuntu的gedit显示中文乱码问题

    http://www.cnblogs.com/zhcncn/p/4032321.html

  6. XSS研究1-来自外部的XSS攻击

    引入: 上文中我们的例子是研究了来自内部的XSS攻击,通过输送一段有害js代码到受害者的机器,让其在受害者的域上运行这段有害JS代码来得到入侵目的.现在我们来看下来自外部的XSS攻击. 实践: 下面还 ...

  7. 创建发布自己的npm包

    我们基于nodejs平台上面的npm上,可以随意下载很多npm安装包.那我们如何创建自己的npm包呢?很简单,废话少说,开始做~ 开始做之前nodejs默认是要安装的,怎么安装自行百度其他教程. 首先 ...

  8. 【Netty】EventLoop和线程模型

    一.前言 在学习了ChannelHandler和ChannelPipeline的有关细节后,接着学习Netty的EventLoop和线程模型. 二.EventLoop和线程模型 2.1. 线程模型 线 ...

  9. 磁盘分区-gdisk用法

    gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-modemenu ...

  10. 深入理解Java常用类-----时间日期

    除了String这个类在日常的项目中比较常用之外,有关时间和日期的操作也是经常遇到的,本篇就讲详细介绍下Java API中对时间和日期的支持.其实在Java 8之前时间日期的API并不是很好用,以至于 ...