OpenHarmony设备截屏的5种方式 原创 精华

westinyang
发布于 2023-7-24 07:47
浏览
5收藏

@toc

演示视频:https://www.bilibili.com/video/BV1ju4y1U7uk

序言

早在今年3月初,刚接触OpenHarmony标准系统应用开发的时候,就搜索过如何通过命令的方式对OpenHarmony设备进行截图,搜索引擎找过很多次都没有自己想要的答案,反观安卓生态即便不去通过搜索引擎搜索,官方的文档就有很明确的说明,但是华为和OpenHarmony官方的文档中,对某些shell命令只字不提,这点真想吐槽一下。

方式1:系统控制中心

  • 顶部下滑在控制中心里点击截屏
  • 这种方式最普遍,截图后可到相册查看,不过要注意有些三方移植固件可能不支持这个功能
  • 通过下面这条命令可以拉取设备截图目录到电脑上
hdc file recv /storage/media/100/local/files/Pictures/Screenshots

方式2:OHScrcpy投屏工具 推荐

OHScrcpy是我在2023-06-03开发的一款OpenHarmony设备投屏PC的工具,目前最新版为1.0-Beta2,Beta3还在开发中,下面有视频演示、下载地址和相关话题

右键选择截屏或者按F1快捷键,如下图所示

OpenHarmony设备截屏的5种方式-开源基础软件社区

方式3:DevEcoStudio截屏功能

点击下方日志,再点击左下角设备截屏按钮即可

OpenHarmony设备截屏的5种方式-开源基础软件社区

方式4:hdc shell snapshot_display

一般质量jpeg

官方没有文档描述,通过反编译和分析DevEcoStudio部分jar包,看到内部的一些实现

hdc shell "snapshot_display -f /data/0.jpeg"
hdc file recv /data/0.jpeg

方式5:hdc shell wukong

高质量png

wukong本来是OpenHarmony提供的一个稳定性测试工具,同时也附带的有截屏功能,官方文档

hdc shell wukong special -p

执行上面的命令会输出如下内容

PS C:\Users\westinyang\Desktop> hdc shell wukong special -p
Start connect to AAMS
Success connect to AAMS
INF : (  115) EnvInit : "Report currentTestDir: (/data/local/tmp/wukong/report/20230724_072217/)"
INF : (  120) EnvInit : "Report CSV: (/data/local/tmp/wukong/report/20230724_072217/wukong_report.csv)"
INF : (  121) EnvInit : "Report JSON: (/data/local/tmp/wukong/report/20230724_072217/data.js)"
INF : (  124) EnvInit : "Report exception dir: (/data/local/tmp/wukong/report/20230724_072217/exception/)"
INF : (   92) StartCrashDirListen : create listener thread
INF : (   94) StartCrashDirListen : thread detach
INF : (   68) InitCsvFile : "CSV: (/data/local/tmp/wukong/wukong_20230724_072217.csv)"
INF : (   55) ListenCrashDir : init notify
INF : (   60) ListenCrashDir : add_watch

截屏就在这段输出中的 currentTestDir 目录中,使用如下命令拉取到电脑,注意这个路径是随机的

hdc file recv /data/local/tmp/wukong/report/20230724_072217/

持续关注

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2023-7-24 11:18:23修改
11
收藏 5
回复
举报
13条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

当我还在为问题困扰时,大佬已经拿出5个解决方案了,赞赞赞!

回复
2023-7-24 10:36:56
westinyang
westinyang 回复了 红叶亦知秋
当我还在为问题困扰时,大佬已经拿出5个解决方案了,赞赞赞!

这个问题之前也困扰我很久了,经过一段时间的研究和实践,我把目前所了解到的几种方式写下来分享一下~

2
回复
2023-7-24 11:00:50
liurick
liurick

视频教学很不错

回复
2023-7-25 18:49:48
离北况归
离北况归

大神,收下我的膝盖

回复
2023-7-25 21:52:14
物联风景
物联风景

厉害厉害,非常好!!

1
回复
2023-7-26 16:27:13
殇时云起
殇时云起

膜拜大佬,很实用的方法

回复
2023-7-26 19:02:38
青舟321
青舟321

只能说官方还在发展中,期待后续更加完善吧

回复
2023-7-27 11:53:22
笨笨的婧婧
笨笨的婧婧

已点赞,投币

回复
2023-7-27 17:42:45
westinyang
westinyang 回复了 liurick
视频教学很不错
谢谢支持,这次是《开鸿教学2.0》的第1期,后续还会持续更新,老样子,b站视频,51cto图文同步

回复
2023-7-28 16:03:50
westinyang
westinyang 回复了 离北况归
大神,收下我的膝盖

相互学习,之前看了你的文章页受益匪浅!

回复
2023-7-28 16:04:27
westinyang
westinyang 回复了 笨笨的婧婧
已点赞,投币

谢谢支持

回复
2023-7-30 16:29:06
zhushangyuan_
zhushangyuan_

​OHScrcpy​​ 很棒啊

回复
2023-7-30 22:48:42
westinyang
westinyang 回复了 zhushangyuan_
​​OHScrcpy​​ 很棒啊
嗯,很早之前就想做这个,后来做出来个初版,再后来发现官方推出的DevEco Testing中也有投屏功能,不过实现原理应该差不多,都是比较卡顿的,距离高流畅度的投屏还有很远的距离,后续再研究下~

1
回复
2023-8-22 21:39:05
回复
    相关推荐