Java实现Android设备实时监控

  设计思路:

    第一,启动一个实时截图线程,负责实时截取Android设备屏幕,保存到本地路径。

    第二,在JSP页面,定义一个img对象,实时更换img对象的src属性。

    这样,每次截图线程截取新图片时会替换掉旧图而JSP页面实时读取新图。就可以达到实时监控手机界面的效果。

  关键技术

    这里面的关键技术有两点:

      1)ADB截图命令:在使用adb前,必须要按在电脑上安装adb,具体教程自己百度。这里描述截图命令:

               adb -s cc16cc shell screencap -p /sdcard/liu.png

               adb -s cc16cc pull /sdcard/liu.png /usr/local/lib/jian.png

               tips:

                这里解释一下这两句话。这两句命令是终端执行命令,第一句是让adb 对设备udid为cc16cc这太设备进行截图并把图片保存到sd卡,命名为                                                  liu.png。-s 这个参数是表示后面接设备的udid。第二句是adb吧sd卡下面的liu.png这张图推送到电脑/usr/local/lib这个目录下并命名为                                                    jian.png。这样就完成了一次截图。

      2)JSP页面实时加载图片: jsp页面实时加载图片,这里说几个关键函数:

setInterval("getScreen();",50) 这个函数的作用是每隔50毫秒执行一次getScreen()这个函数。

               function getScreen(){

                 $(#screenPic).attr("src","<%=basePath%>/resources/screenshot/jian.png?a=Math.random()")

               }

              tips:

                这段代码的意思是每隔50毫秒去调用一次getScreen()这个函数,getScreen()函数负责替换id=screenPic这个img标签的src值。写                                                          a=Math.random()是因为一个img对象替换src值后,由于浏览器缓存的原因,img对象的图片并没有被替换,所以要用这种方式处理。当然,                                              这个a不是固定的,可以随意写。

Java实现iOS设备实时监控

  设计思路:

    iOS实时监控的设计思路有Android的设计思路是相同的。

  关键技术:

    iOS的实现方式与Android相同,这里的区别在于iOS实时截图的实现。

      1)idevicescreenshot截图命令:idevicescreenshot -u cc16cc /usr/local/liu.png

              idevicescreenshot截图工具要依赖于ideviceinstaller,而ideviceinstaller要依赖于libimobiledevice。下面是安装教程。

              a) brew install libimobiledevice

              b) brew install -HEAD ideviceinstaller

              tips: 

                iOS实时监控截图必须在Mac环境下进行,如果在依赖安装完成后截图命令出错可在终端执行"sudo chmod -R 777 /var/lib/lockdown/"。

Java实现Android,iOS设备实时监控的更多相关文章

  1. shell+钉钉机器人完成java程序中断后自启动和实时监控

    java实时程序在运行过程中偶尔出现异常信息中断的情况,通过shell脚本即可完成自启动. 以下为监控一个实时的java程序的shell脚本. 通过每10秒检查一次java程序的进程,来判断程序是否处 ...

  2. c# c++ oc java || mac android ios

    Unity 使用C/C++ 跨平台终极解决方案(PC,iOS,Android,以及支持C/C++的平台) http://blog.csdn.net/fg5823820/article/details/ ...

  3. iOS开发——实时监控网速(仅作参考,发现一点问题)

    开发中用到获取网速的地方,应该就两种: 1.下载速度,这种可以直接在接受数据的地方统计计算.这个就不讲了. 2.获取手机网卡的数据,可以监控网卡的进出流量,下面就是. #import "Vi ...

  4. Bodymovin:Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画

    转自:https://www.cnblogs.com/zamhown/p/6688369.html 大杀器Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画 ...

  5. 大杀器Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画

    前段时间听部门老大说,Airbnb出了个移动端的动画库Lottie,可以和一个名叫Bodymovin的AE插件结合起来,把在AE上做好的动画导出为json文件,然后以Android/iOS原生动画的形 ...

  6. fiddler 进行Android/IOS代理配置抓包

    1.准备:Android+IOS设备 下载:fiddler抓包工具,不是最新版的链接:   链接:https://pan.baidu.com/s/1BaBfu2H4xgpsh1wmkfC8aQ     ...

  7. React++ node.js ++SQL Sever ++MySQL++ python ++ php ++ java ++ c++ c#++ java ++ android ++ ios ++Linux+

    "C语言在它诞生的那个年代,是非常不错的语言,可惜没有OOP.当项目臃肿到一定程度,人类就不可控了. 为了弥补这个缺陷,C++诞生了.而为了应对各种情况,C++设计的大而全,太多复杂的特性, ...

  8. EasyCamera Android安卓移动视频监控单兵设备接入EasyDarwin开源流媒体云平台

    前言 随着Android系统的不断更新和发展,现在越来越多的硬件产品选择用安卓系统作为运行环境,电视机,机顶盒.门禁.行车记录仪.车载系统.单兵设备等等,Android系统底层还是Linux,但对上层 ...

  9. Android(Linux)实时监控串口数据

    之前在做WinCE车载方案时,曾做过一个小工具TraceMonitor,用于显示WinCE系统上应用程序的调试信息,特别是在实车调试时,用于监控和显示CAN盒与主机之间的串口数据.因为需要抢占市场先机 ...

随机推荐

  1. HTML移动端开发常见的兼容性总结

    1.安卓浏览器看背景图片,有些设备会模糊.用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢?经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网 ...

  2. Selenium 显示等待和隐式等待

    1. 设置显示等待 Java代码: 1 2 3 4 5 public static WebElement WaitForElement(WebDriver driver, String locator ...

  3. 唐伯猫的 sql server 2008 的安装和操作记录

    在服务器win 2008 server r2 上安装sql 首先下载sql  server 2008  ,云盘有存储sql,很多论坛也有下载SQLEXPRADV_x64_CHS.exe 双击sql s ...

  4. 一个很逗的东西——Jd

    这个嘛是本人专门为了NOI上面对拍程序写的对拍程序,已经经历了NOI2015的考验:更重要的是——纯Pascal的哦(HansBug:其实是我不会写.sh脚本TT,谁叫用惯了windows的我只会写b ...

  5. javaScript事件(六)事件类型之滚轮事件

    滚轮事件其实就是一个mousewheel事件,这个事件跟踪鼠标滚轮,类似Mac的触屏版. 一.客户区坐标位置 鼠标事件都是在浏览器视口的特定位置上发生的.这个位置信息保存在事件对象的clientX和c ...

  6. Android -- 自定义StepView实现个人信息验证进度条

    1,项目中要用到个人信息验证的在网上找了一下,好像有封装好了的StepView,首先感谢一下作者,这是作者的地址,效果图如下: 2,正准备撸起袖子就是一顿复制粘贴的时候,发现效果图成这个样子了(其实这 ...

  7. Java引领新生活

    阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 我觉得师生关系应当是亲密无间,课上老师讲解学生配合,课下师生交流启发思考. 你有什么技能(学习,棋类,球类,乐器,艺术,游戏,......)比大多 ...

  8. iOS多线程——GCD

    最近的项目遇到了很多多线程的问题,借此机会对GCD进行了一番学习并总结.首先说一下什么是GCD,GCD全称 Grand Central Dispatch,是异步执行任务的技术之一.开发者只需要定义想要 ...

  9. windows phone 8.1 开发:后台任务详解

    原文出自:http://www.bcmeng.com/backtask/ 小梦今天给大家分享一下windows phone 8.1中的后台任务如何实现,许多应用都会用到后台任务,所以我们必须得掌握. ...

  10. nginx+lua安装配置

    1.选定源码目录选定目录 /usr/local/ cd /usr/local/ 2.安装PCRE库cd /usr/local/wget ftp://ftp.csx.cam.ac.uk/pub/soft ...