使用adb命令对android手机/模拟器进行截屏操作的话分为两步:
1. 发送截屏命令到手机/模拟器, 将截取的图片保存到指定的路径下面(adb shell screencap -p /sdcard/pictures/0.png);
2. 发送提取文件命令将手机中指定路径下面的图片保存到电脑指定路径下面(adb pull /sdcard/pictures/0.png d:\0.png);
这种操作有些繁琐, 需要好几步文件操作, adb可以直接发送手机截屏命令输出控制台字符流, 但是图片字符流无法正常显示, 需要做一些修改: 将其中的0D0A字节替换成为0A字节
本程序利用控制台管道捕获图片字符流, 然后将字符流中的相应字节做一下替换, 这样可以直接截屏手机/模拟器图片显示在程序窗口中, 进行手机/模拟器的遥控操作;
只需要一行命令即可完成:
adb shell screencap -p
文件修改 ()返回 (0 ) 变量名 | 类 型 | 静态 | 数组 | 备 注 | w | 整数型 | | | ll | 字节集 | | | l1 | 字节集 | | | l2 | 字节集 | | | l3 | 字节集 | | |
w = 打开文件 (取运行目录 () + “\3.png”, , )ll = 读入字节集 (w, 取文件长度 (w )) 关闭文件 (w )输出调试文本 (取字节集长度 (ll )) l1 = { 13, 10 }l2 = { 10 }调试输出 (l1 )调试输出 (l2 )l3 = 字节集_子替换 (ll, l1, l2, , )w = 打开文件 (取运行目录 () + “\4.png”, 4, )输出调试文本 (写出字节集 (w, l3 )) 关闭文件 (w )变量名 | 类 型 | 静态 | 数组 | 备 注 | ll | 字节集 | | | l1 | 字节集 | | | l2 | 字节集 | | | l3 | 字节集 | | |
ll = 运行2 (“adb shell screencap -p”, 0, 500 )调试输出 (取字节集长度 (ll )) l1 = { 13, 10 }l2 = { 10 }l3 = 字节集_子替换 (ll, l1, l2, , )返回 (l3 )
ADB截图修正.7z
(1.05 MB, 下载次数: 181)
|