最近在编写自动化测试工具时,用到了 STF 中的 minicap 工具,碰到了一个问题:
截图时,在五个手机上测试,其中 oppo 手机截图显示全黑(图片大小 33K 左右,),其余四只显示正常。
在同事的苹果电脑上用 STF 刷新 oppo 手机界面时就是正常的
问:有同学知道这是怎么回事吗?
截图方法:
1. 安装 minicap 到手机:

2. 赋可执行权限:
dos:
adb shell
$cd /data/local/tmp
$chmod 777 /data/local/tmp/mini*
3. 执行截图命令:
dos:
adb shell
$LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 -s > /mnt/sdcard/tmp.jpg
截出来的是全黑图:
问题已解决,更新一下解决方法:
dos:
adb shell
$LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0
备注一下:,这里另开一个CMD窗口,再执行以下命令,或在上一条命令的最后一行加"&"符号哈:
adb shell
$LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 -s > /mnt/sdcard/tmp.jpg
已截出来的正常的图片:
jpg 咋变成了 png?
如果在 mac 是好的, 在 win 上不行,我觉得不应该。
严谨的测试下吧,保证过程一致。
也用过这个截图,对部分手机是兼容性不好,我们加了判断,如果失败,或是图片大小为 0,就换 screencap。
获取手机实时屏幕显示和截图是同一个命令。
截图:
LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -s -P 1080x1920@360x640/0 > /data/local/tmp/tmpscreen.jpg
实时显示:
LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@360x640/0
好像-s 就是截图的意思,看-h 吧。
我觉得截图和实时查看,要不都可以,要不都不可以,应该不存在只支持其中一个。
windows。。我不知道耶。。。
作者在日本,但是 oppo 手机在日本并不常见
#11 楼 @monkey @codeskyblue
好吧,那么我换个问法,我的截图动作是否完全正确,是否还有其他细节?
用法没错,只是 minicap 并不是支持所有的手机
#14 楼 @codeskyblue
谢谢,这个问题已经解决了
#16 楼 @codeskyblue
更新本贴,见内容哦,最好能在你那之前不行的机器上验证一下,哈哈
#18 楼 @codeskyblue
找机器来试一下吧,操作上是有区别的,已再次更新
#18 楼 @codeskyblue
Hi, 验证了吗?可以吗?
#21 楼 @codeskyblue
哦,好吧,没有碰到截出来黑屏屏的状况吗?
看到壁纸,确认是你啦~
@carl ,
今天试用了一下 minicap,遇到点问题,咨询一下,
1、前置条件略
2、启动 minicap:adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0
3、截图:adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 -s >c:\test.png
生成的图片无法正常显示,提示该图片已损坏或无法显示。
有遇到个这种问题吗
@carl ,
1、有一种方法可以成功,可以截图成功的操作:通过 adb shell 进到手机对应的目录下/data/local/tmp 目录下,执行 $LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 -s > /mnt/sdcard/tmp.jpg 命令就可以,然后再将截图 Pull 到 win 电脑中。
2、如果在 dos 命令提示 符中,直接执行 adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 -s > c:\ tmp.jpg ,生成的图片就显示已损坏。
“adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 -s > c:\ tmp.jpg”
这里少一个字符噢!
@mikezhou
@carl ,ok
@carl
楼主,你好;
从 github 上下载的 minicap 没有你所说的这个文件夹 bin,要怎么办?
你那有编译好的吗?
老师,夜神模拟器黑屏是什么情况,有研究过么?。同样的代码小米手机是可以的。夜神模拟器是黑屏