之前发过一篇文章 ATX 系列 - 让 adb install 也能看到进度,看反馈效果还挺好的。所以继续写第二篇。

今天介绍的是 atx 下的另一个命令行工具,专门负责快速的截图。

背景介绍

目前的安卓截图工具虽然很多,比如命令行本身自带的 screencap,或者用第三方工具 豌豆荚,iTools 等等,然而截图的效率以及易用性都还一般,有很多的改进的空间。
随着时间的推移,技术在阳光的照耀下,不断的在进步,一个利用安卓系统的隐藏接口进行快速截图minicap项目就这样悄然诞生了,将截图的速度优化到了 ms 级别。感谢openstf团队做出的杰出贡献。

如何使用

首先利用 pip 需要安装 atx

pip install --pre --upgrade atx

然后根据 atx 项目的说明安装 python-opencv,这一步的安装比想象中的要简单的多。

之后手机连接上电脑,进行 minicap 的安装。(这个步骤可能在以后还会变化,因为并不优雅

python -matx minicap

如果没有什么报错的话,就可以用 minicap 截图了。然而并非所有手机都支持 minicap,此时 atx 会回滚到传统的截图方法,保证其可用性。

截图命令

python -matx screencap -o screen.png

打开screen.png就可以看到截图的文件了

原理

关于 minicap 的原理,我并没有仔细的去研究,据文档上说,是利用了安卓系统的隐藏的 api,所以编译 minicap 时,需要整个安卓系统的源码。
关于 minicap 兼容性的问题,因为国内的手机太多,而项目的作者又不在中国,所以并不可能测试过所有的国内手机。据坊间传闻,阿里内部对 minicap 做了修改,兼容 90% 以上的国内手机,可惜目前不开源。

问题反馈

该工具为了还会做不断的完善和修改。如果使用遇到了问题,可以留言,不过强烈推荐反馈到 github 的 issue 上面,目前的地址是 https://github.com/codeskyblue/AutomatorX/issues

备注

版权所有 ATX 开发组,如需转载请注明 testerhome 文章的地址


↙↙↙阅读原文可查看相关链接,并与作者交流