不管是做安卓的群控还是操作单台设备,获取手机屏幕应该是最基本也是最重要的操作了吧!
随着现在手机迭代更新的速度之快,手机屏幕的分辨率也越来越高了,想当初分辨率低的时候一个屏幕截图才几百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 本地路径
网友评论