问题描述
如何通过ADB的screencap
命令截取运行中的Samsung Galaxy Fold设备上较小显示屏的画面?用户尝试使用标准的screencap
命令,但这只成功截取了主屏幕,且图片内容为黑色。
解决方案
注意:请确保已正确配置并打开了adb调试功能,并在操作前备份重要数据。
方案1 – 使用设备特定的显示ID
根据最佳回答,可以通过指定物理显示屏ID来调整screencap
命令以捕获副屏幕的照片。以下是具体步骤:
1. 获取有效显示ID:使用dumpsys SurfaceFlinger --display-id
命令可以获取设备上的所有显示屏信息。
2. 过滤显示屏ID:在输出结果中,寻找名为“display_id”的行,并提取相关的数字作为显示屏ID(例如5)。
3. 调整screencap命令以捕获特定显示屏:用提取的显示ID替换命令中的占位符。
详细步骤如下:
1. 使用以下命令获取所有显示屏的信息:
shell
dumpsys SurfaceFlinger --display-id | grep display_id
-
根据输出结果找到相应的显示屏ID(例如,较小的屏幕可能是5)。
-
将显示ID应用于
screencap
命令中:
shell
shell screencap -d 5 -p /sdcard/testss1.png
在上述示例中,-d 5
确保只捕获显示屏ID为5的屏幕(即较小的屏幕)。
根据评论反馈,在用户的设备上较小的显示屏幕ID即是5。因此,替换上面命令中的占位符<display_id>
后,完整的命令就是:
shell screencap -d 5 -p /sdcard/testss1.png
请注意检查显示屏ID和路径是否正确无误。
方案2 – 使用第三方ADB工具或脚本(可选)
如果上述方法无法解决问题,可以考虑使用某些第三方工具或者编写自定义的ADB脚本来定制更详细的显示控制。这需要对ADB命令及设备状态有更深的理解和编程知识。
注意:使用以上提供的所有解决方案前,请确保按照官方文档操作,并熟悉相关的危险提示。
通过使用这两种方案之一,您应当能够实现正确的屏幕内容捕捉。如果问题仍然存在,建议联系三星支持或者查阅更多专业的开发者帮助文档以获得进一步的技术支持。