本文转载自《OpenHarmony设备截屏的5种方式 》,作者westinyang

目录

● 方式1:系统控制中心

● 方式2:OHScrcpy投屏工具 `推荐`

● 方式3:DevEcoStudio截屏功能

● 方式4:hdc shell snapshot_display

● 方式5:hdc shell wukong

● 持续关注

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

方式1:系统控制中心

● 顶部下滑在控制中心里点击截屏

● 这种方式最普遍,截图后可到相册查看,不过要注意有些三方移植固件可能不支持这个功能

● 通过下面这条命令可以拉取设备截图目录到电脑上

hdc file recv /storage/media/100/local/files/Pictures/Screenshots

  

方式2:OHScrcpy投屏工具 推荐

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

● 1.0 Beta1:

● OHScrcpy:OpenHarmony开源鸿蒙首款投屏工具横空出世~

● 1.0 Beta2:OpenHarmony开源鸿蒙投屏工具OHScrcpy1.0-Beta2,支持点触交互

● 下载地址:https://www.bilibili.com/read/cv24125018

● 相关话题:https://github.com/Genymobile/scrcpy/issues/4137

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

方式3:DevEcoStudio截屏功能

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

方式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/

  

持续关注

● OpenHarmony开发者社区(非官方阵地):https://gitee.com/ohos-dev 感兴趣的小伙伴们,可以关注或申请加入

● Bilibili:https://space.bilibili.com/74433635 投稿OpenHarmony应用开发和相关技术教程

OpenHarmony设备截屏的5种方式的更多相关文章

  1. 在mac上截屏的几种方式

    方法 1: 对屏幕的一部分进行截图 按下Command+Shift+4   方法 2: 对整个屏幕进行截图 按下Command+Shift+3   方法 3: 把截图保存到粘贴板 按下Command+ ...

  2. Android截屏的几种实现

    Android截屏的几种实现 微信公众号:CodingAndroid CSDN:http://blog.csdn.net/xinpengfei521 最近我们的APP要求需要截屏功能,网上看了看大致有 ...

  3. Xamarin Android Activity全屏的两种方式

    方式一 直接在Activity的Attribute中定义 如下 在 MainActivity 中 [Activity(Label = "app", MainLauncher = t ...

  4. Android实现全屏的三种方式

    一.通过代码 requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏标题栏 getWindow().setFlags(WindowManager.Lay ...

  5. 基于Linux的USB 主/从设备之间通讯的三种方式

    转载:http://archive.eet-china.com/www.eet-china.com/ART_8800323770_617693_TA_eda530e7.HTM 随着简单易用的USB接口 ...

  6. chrome 全屏 的两种方式

    新建脚本start.bat 自动全屏模式 "C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk http: ...

  7. Linux系统安装MySql步骤及截屏

    ➠更多技术干货请戳:听云博客 如下是我工作中的记录,介绍的是linux系统下使用官方编译好的二进制文件进行安装MySql的安装过程和安装截屏,这种安装方式速度快,安装步骤简单! 需要的朋友可以按照如下 ...

  8. iOS开发 代码 或 <Home+Power>截屏

      1. 截屏的两种简单方法, 注意这两种截图方法,都必须在视图完全加载完成后才能截图,即在 viewDidAppear 方法之后截屏,否则无法得到想要的截屏效果 (1) 利用绘图方法 renderI ...

  9. Windows10-UWP中设备序列显示不同XAML的三种方式[3]

    阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universa ...

  10. IOS开发-几种截屏方法

    IOS开发-几种截屏方法 1.        UIGraphicsBeginImageContextWithOptions(pageView.page.bounds.size, YES, zoomSc ...

随机推荐

  1. django时区相关说明

    # naive time 从字面意思上理解,这是个"幼稚的时间",所以可以理解为它是个本地时间,不带时区信息,不能直接用于存储,如下 import datetime datetim ...

  2. 【LeetCode回溯算法#01】图解组合问题

    组合问题 力扣题目链接(opens new window) 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 示例: 输入: n = 4, k = 2 输出: [ [2 ...

  3. springboot-@Async默认线程池导致OOM问题

    目录 内存溢出的三种类型: 初步分析: 代码分析: 最终解决办法: 内存溢出的三种类型: 第一种OutOfMemoryError: PermGen space,发生这种问题的原意是程序中使用了大量的j ...

  4. 【App Service】遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的调试小工具

    问题描述 当应用部署到微软云 Azure后,如果遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的时候,有什么好的调试方法呢? 来判断具体时那一段请求耗时呢? 问题解答 当然 ...

  5. STL-unordered_hashtable模拟实现

    #pragma once #include<vector> #include<string> #include<iostream> using std::cout; ...

  6. 理解LLMOps: Large Language Model Operations

    理解LLMOps: Large Language Model Operations 对于像我一样的小白来说,本文是一篇非常不错的LLMs入门介绍文档.来自:Understanding LLMOps: ...

  7. Java interface 接口 新特性

    1 package com.bytezreo.interfacetest; 2 3 public class SubClass2 { 4 public static void main(String[ ...

  8. Java 子类对象实例化的全过程

    2 /* 3 * 子类对象实例化的全过程 4 * 5 *1.结果上来看:(继承性) 6 * 子类继承父类以后,就获取了父类中声明的属性或方法 7 * 创建子类的对象,在堆空间中,就会加载所有父类声明的 ...

  9. 适用于AbpBoilerplate的阿里云腾讯云Sms短信服务

    Sms 适用于AbpBoilerplate的短信服务(Short Message Service,SMS)模块,通过简单配置即可使用,仅更改一处代码即可切换短信服务提供商. Aliyun.Sms由阿里 ...

  10. java.lang.Long cannot be cast to java.util.Map-Oracle查询异常处理

    Map<String, Object> map一.问题由来 测试环境中进行测试时,某一个接口频繁报一个错,java.lang.Long cannot be cast to java.uti ...