安卓群控探索与学习-快速截屏

不管是做安卓的群控还是操作单台设备,获取手机屏幕应该是最基本也是最重要的操作了吧!

随着现在手机迭代更新的速度之快,手机屏幕的分辨率也越来越高了,想当初分辨率低的时候一个屏幕截图才几百K左右,但是现在都是几MB大小了,原生的ADB指令 screencap -p 就显得越来越吃力了,就算直接从流中获取截图(不在本地存储)也需要几秒的时间,这样显然就很难完成控制的目的了,那么有什么好的办法么?

Minicap STF框架的一个工具,用来实现设备屏幕的采集

Minicap是运行在Android设备端的,所以我们需要把适配当前手机系统和CPU架构的可执行文件推送到设备上然后进行屏幕获取,具体步骤可以参考下文

  • 获取CPU架构 shell getprop ro.product.cpu.abi
  • 获取SDK版本 shell getprop ro.build.version.sdk
  • 不同CPU架构对应的执行文件 下载 密码: minicap
  • 不同CPU架构与SDK版本的动态连接库.so文件 下载
  • 把下载好的文件拷贝到Android设备 adb push 文件路径 /data/local/tmp/
  • 提权 chmod 777 /data/local/tmp/minicap
  • 提权 chmod 777 /data/local/tmp/minicap.so
  • 测试是否安装成功 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 -t 如果返回OK则表示已经安装成功可以正常获取屏幕了
  • 截图并存储 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P {设备分辨率}@{设备分辨率}/0 -s > /sdcard/screencap.png 设备分辨率格式: 1080x1920
  • 把 /sdcard/screencap.png 推送到电脑 pull /sdcard/screencap.png 本地路径

以上基本上就是整个Minicap的截图操作了,当然Minicap 能做的并不仅仅只有截图,还可以通过端口转发直接获取实时屏幕,下面放一张我的测试软件截图:

安卓群控探索与学习-快速截屏_第1张图片
1.png
第一次写文章,希望可以多多交流

你可能感兴趣的:(安卓群控探索与学习-快速截屏)