700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 解决 android手机ADB命令截图后图片显示为黑屏的方法--01-07

解决 android手机ADB命令截图后图片显示为黑屏的方法--01-07

时间:2023-01-12 04:15:24

相关推荐

解决 android手机ADB命令截图后图片显示为黑屏的方法--01-07

title: adb命令截图图片显示为黑屏问题总结

date: -01-07

tags: adb android

author: YeXiaoXin

发现问题

在我实际的项目开发过程中,发现appium 驱动在调截图的方法时 溢出错误如下:

执行代码语法出错Message: An unknown server-side error occurred while processing the command. Original error: io.mon.exceptions.TakeScreenshotException: Failed to capture a screenshot. Does the current view have 'secure' flag set?

经过查询相关资料得知,这种错误 是由于APP 在该页面限制截图导致的,(截图的这个界面为账户和密码输入界面)。

尝试解决

使用android adb命令截图

当在调用appium 驱动溢出错误时,调用adb命令截图,命令如下:

adb shell screencap -p /sdcard/screen.png

使用pull命令将截图传至电脑C:盘

adb pull /sdcard/Pictures/Screenshots C:\

打开图片后显示为黑色空白,图如下:

以上方法无法解决截图的问题。

使用手机自带截图功能截图

手机自带截图实现有两种方案:

1: 使用组合按键的方式,如我所使用的魅族手机可使用 音量加 + 电源键实现截图的功能

2:或者使用下拉通知栏 中的 截图按钮截图

由于未找到 android 如何手机组合 按键的命令,所以我选择了第2方案,方案实现步骤如下:

1、使用 rm /sdcard/Pictures/Screenshots/*.jpg 清除 手机截图文件夹的全部截图

rm /sdcard/Pictures/Screenshots/*.jpg

2、使用 adn shell input swipe 360 0 360 640 200 下拉手机通知栏

adb shell input swipe 360 0 360 640 200

3、点击截图按钮

input tap 250 250

如下图(非真实场景,可以将该按钮替换为备忘录):

4、读取图片名称后,将手机图片传送至pc地址 文件夹:

jpg_name=os.popen('adb shell ls /sdcard/Pictures/Screenshots/').read().strip()os.popen('adb pull /sdcard/Pictures/Screenshots/%s %s'%(jpg_name,tmpdir))

其中tmpdir 为PC文件夹名称

5、清除手机截图

手机截图清除分为两个步骤:

1):使用rm命令删除,如下:

rm /sdcard/Pictures/Screenshots/*.jpg

2):使用广播命令更新 手机文件的缓存(如不执行此命令则会导致手机依然显示之前删除的图片)

am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/Pictures/Screenshots/

6、在PC端应用图片(略)

7、删除PC端图片,命令如下:

os.remove(filename)

filename 为PC端 图片的位置。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。