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

您所在的位置:网站首页 电脑无法打开adb命令 解决 android手机ADB命令截图后图片显示为黑屏的方法

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

2023-08-13 19:32| 来源: 网络整理| 查看: 265

title: adb命令截图图片显示为黑屏问题总结 date: 2020-01-07 tags: adb android author: YeXiaoXin

发现问题

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

执行代码语法出错Message: An unknown server-side error occurred while processing the command. Original error: io.appium.uiautomator2.common.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端 图片的位置。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3