PC实时抓取手机屏幕 – Android
有时候,你希望在电脑(PC)上观看手机上的实时操作屏幕。有这个需求的原因可能是:
1、 手机屏幕太小了
2、 希望将手机屏幕的实时状态外放到投影仪等上面,便于一群人观看
3、 等等。
不论你的需求是什么,要达到这个目的的方法是很多的。
以下介绍其中的几种:
一、Android SDK + ASM.jar
前提:
0、Java 1.7:
1 2 3 4 5 |
PS C:\Users\Adamhuan> java -version java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b18) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode) PS C:\Users\Adamhuan> |
如果没有,可以去Oracle的Java板块下载:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
1、Android SDK:
官方网站:http://developer.android.com/index.html
在该页面里:
你可以下载Android Studio集成开发环境(大概2G多),你安装它的过程中,它包含了SDK与IDE的安装。
你也可以单独下载Android SDK,这种方式没有图形化的开发环境,只有基本的安卓开发包的支持。
SDK Download URL for MS Windows 64:
http://dl.google.com/android/installer_r24.4.1-windows.exe
2、asm.jar:
asm.jar的全称是:Android Screen Monitor。
你可以在code.google.com上获得它的介质:
https://code.google.com/p/android-screen-monitor
Download Link:
https://android-screen-monitor.googlecode.com/files/ASM_2_50.zip
首先,安装Android SDK或者Android Stidio。
其次,将asm.jar复制到Android SDK的指定目录下(G:\Android\sdk\platform-tools,G:\Android\sdk是我的SDK安装目录,在不同的环境里,该路径可能不一样)
如下:
最后,命令行调用asm.jar:
进入asm.jar所在的目录:$ANDROID_SDK_HOME/platform-tools
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
PS C:\Users\Adamhuan> pwd Path ---- C:\Users\Adamhuan PS C:\Users\Adamhuan> g: PS G:\> cd "G:\Android\sdk\platform-tools" PS G:\Android\sdk\platform-tools> pwd Path ---- G:\Android\sdk\platform-tools PS G:\Android\sdk\platform-tools> PS G:\Android\sdk\platform-tools> dir 目录: G:\Android\sdk\platform-tools Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2015/9/18 6:03 api d---- 2015/9/18 6:03 lib64 d---- 2015/9/18 6:03 systrace -a--- 2015/9/18 6:03 1419776 adb.exe -a--- 2015/9/18 6:03 97792 AdbWinApi.dll -a--- 2015/9/18 6:03 62976 AdbWinUsbApi.dll -a--- 2013/6/2 21:11 235929 asm.jar -a--- 2015/9/18 6:03 73728 dmtracedump.exe -a--- 2015/9/18 6:03 338944 etc1tool.exe -a--- 2015/9/18 6:03 319488 fastboot.exe -a--- 2015/9/18 6:03 43008 hprof-conv.exe -a--- 2015/9/18 6:03 234920 NOTICE.txt -a--- 2015/9/18 6:03 42 source.properties -a--- 2015/9/18 6:03 718848 sqlite3.exe PS G:\Android\sdk\platform-tools> |
用Java执行asm.jar
1 2 3 4 5 6 7 |
PS G:\Android\sdk\platform-tools> java -version java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b18) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode) PS G:\Android\sdk\platform-tools> PS G:\Android\sdk\platform-tools> java -jar asm.jar ... ... 运行时,命令行会处于挂起状态。 |
目标手机当前的屏幕状态。
该状态是实时的,但是PC与手机之间的呈现有1~2秒左右的延迟。
由于现在的手机分辨率普遍都比较高,所以ASM第一次打开时可能窗体会非常大。
你可以通过右拉菜单去选择缩放窗口,这样就能更好的查看了。
——————
至此,用Android SDK + asm.jar的方法实时查看手机屏幕的状态就结束了。
二、MirrorOp
官方网站:http://www.mirrorop.com/
MirrorOp软件分为两部分:
屏幕发送端(Sender)
屏幕接受端(Receiver)
Sender目前支持的设备:Windows、Mac、Android、三星-Galaxy、iPhone/iPad
Receiver目前支持的设备:Windows、Mac、iPad、Android。
1. 安装介质的准备
这里:
我的接收端:Windows版本;
Download Link:
http://www.mirrorop.com/downloads/WinReceiver.zip
我的发送端:Android版本;
各大安卓应用市场都有。
腾讯应用宝:
或者,翻墙访问Google Play:
https://play.google.com/store/apps/details?id=com.awindinc.sphone2tv
2. MirrorOp的安装
接收端的安装:
在MS Windows中,跟着安装介质的指引一步步的下一步就可以了。
安装完成后,启动Receiver,你会看到如下画面:
发送端的安装:
(手机上操作)
如图所示,找到介质,然后下载。
下载成功后,保证系统有足够的空间安装应用,并点击”安装“。
安装成功后,你会看到如下画面:
3. MirrorOp的使用
首先,你需要保证手机与PC是连同的。
在我的环境中:
手机的IP地址:
PC是否可以连通?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
PS C:\Users\Adamhuan> ping 192.168.138.3 正在 Ping 192.168.138.3 具有 32 字节的数据: 来自 192.168.138.3 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.138.3 的回复: 字节=32 时间=105ms TTL=64 来自 192.168.138.3 的回复: 字节=32 时间=579ms TTL=64 来自 192.168.138.3 的回复: 字节=32 时间=866ms TTL=64 192.168.138.3 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 2ms,最长 = 866ms,平均 = 388ms PS C:\Users\Adamhuan> |
然后,接收端保证Receiver正在运行(PC操作)
再后,屏幕发送端寻找屏幕接收端:
(手机上操作)
运行Mirror Sender,它会自动发起对接收端的寻找:
如果接收端正在运行,那么Sender自然可以找到它,如下所示:
这样,就可以在PC看到手机的画面了:
(有时候你会遇到这样的错误:“传屏过程发生错误:-6526000”,这是因为:没有注册的情况下,正版应用的5分钟体验限制。)
至此,通过MirrorOp传递手机屏幕,就介绍完了。
优点:比起第一种方式(android sdk + asm.jar),MirrorOp几乎没有延迟。而且,不需要手机与电脑以USB方式连接,无线传输。
——————————————————
Done。