鸿蒙hdc使用指导

简介

hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与真实设备或者模拟器进行交互。

环境准备

hdc工具通过HarmonyOS SDK获取,存放于SDK的toolchains目录下,使用时将SDK的toolchains目录添加到环境变量。

  • Windows环境变量设置方法:
    在此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量中,添加HDC端口变量名为:HDC_SERVER_PORT,变量值可设置为任意未被占用的端口,如7035。
    在这里插入图片描述
    环境变量配置完成后,关闭并重启DevEco Studio。

注意事项

  • 使用hdc,如果出现异常,可以尝试通过hdc kill -r命令杀掉并重启hdc服务。
  • 如果出现hdc list targets获取不到设备信息的情况,可以通过任务管理器查看是否有hdc进程存在。若进程存在,则通过hdc kill -r命令杀掉该进程。

说明

  • 命令行中被[]修饰的参数表示可选参数。
  • 命令行中的参数若是斜体,表示在使用时该参数需替换为具体的信息,例如:file send local remote命令中的local和remote,使用时需替换为本地待发送和远端待接收的文件路径。

简单使用

以真机为例:真机用的hmscore文件夹下的3.1.0,如果是开发板则是OpenharmonySDK安装路径下的设备版本:9/10\toolchains\hdc.exe

查找HDC位置:打开Setting,SDK存放位置下找到\hmscore\3.1.0\toolchains
在这里插入图片描述
在这里插入图片描述
在当前目录打开CMD 命令窗:查看真机版本和类型:(如果是Windows PowerShell,则:.\hdc -v)

$>hdc -v
Ver: 1.2.0a
$>hdc list targets
54g5h4f54h44f54hrrty4        device
$>hdc -c shell
getprop hw_sc.build.os.apiversion
getprop hw_sc.build.os.releasetype
HWPCT:/ $ getprop hw_sc.build.os.apiversion
6
HWPCT:/ $ getprop hw_sc.build.os.releasetype
Release

开发指导

全局option

Option说明
-t [key] [command]指定连接唯一标识的目标设备。
-h打印hdc帮助信息。
-v打印hdc版本信息。
-n/-c手机/平板镜像为3.1及以上版本时,如果开发者需要操作(安装/卸载等)API 9的应用,使用 -n或不带 -n;
-n/-c手机/平板镜像为3.1及以上版本时,如果开发者需要操作(安装/卸载等)应用为API 8及以下版本,使用 -c;
-n/-c手机/平板镜像为3.1之前版本,如果开发者需要操作(安装/卸载等)应用为API 8及以下版本,使用 -c。
1.显示hdc相关的帮助信息,命令格式如下:
hdc -h
  • 返回值:
    返回hdc的帮助信息。

  • 使用方法:

hdc -h
2. 显示hdc的版本信息,命令格式如下:
hdc -v
  • 返回值:
    返回hdc的版本信息。

  • 使用方法:

hdc -v
3. 连接设备时,若仅有一台,无需指定设备标识。若有多台,一次仅能连接一台,每次连接时需要指定连接设备的标识,命令格式如下:
hdc -t [key] [command]
  • 参数
参数名说明
keyIP地址或USB序列号。
commandhdc支持的命令。
  • 返回值:
    若连接的设备不存在,返回 Invalid arguments ***。若附件的命令不存在,返回unknown command ***。

  • 使用方法:
    该方法需要与具体的操作命令搭配使用,下面以shell命令举例:

hdc list targets  (获取设备信息)
hdc -t [key] shell (-t后面添加的key需要替换为查询到的某一个设备信息)

说明
一台开发机可连接多个设备,每个设备有唯一的标识。如果通过网络连接设备,标识为IP地址,如果通过usb连接,标识为USB序列号。该命令需要跟随具体的操作命令。

查询相关命令行

命令说明
help打印hdc帮助信息。
version打印hdc版本信息。
list targets [-v]查询已连接的所有目标设备,添加-v选项,则会打印设备详细信息。

显示所有已经连接的设备列表,命令格式如下:

hdc list targets[-v]
  • 返回值
    若没有查询到设备信息,返回[Empty]。若查询到已经连接的的设备,返回设备列表。

  • 使用方法:

hdc list targets
hdc list targets -v
服务进程相关命令
命令说明
target mount读写模式挂载系统分区。
target boot重启目标设备,查看目标列表可用list targets命令。
smode [off]授予设备端hdc后台服务进程root权限, 使用off参数取消授权。
kill终止hdc服务进程。
  1. 以读写模式挂载系统分区,命令格式如下:
hdc target mount
  • 返回值
    挂载成功,返回remount succeeded。挂载失败,返回具体的失败信息。

  • 使用方法:

hdc target mount
  1. 授予设备端hdc后台服务进程root权限,命令格式如下:
hdc smode [off]
  • 使用方法:
hdc smode  
hdc smode off  // 取消root权限
  1. 终止hdc服务进程,命令格式如下:
hdc kill [-r]
  • 返回值
    服务进程终止成功,无返回值。服务进程终止失败,返回具体的失败信息。

  • 使用方法:

hdc kill
hdc kill -r

网络相关命令

命令说明
fport ls展示全部“端口转发主机端口转发数据到设备侧端口”的转发任务。
fport local remote端口转发主机端口转发数据到设备侧端口。
fport rm local remote删除指定“端口转发主机端口转发数据到设备侧端口”的转发任务。
rport ls展示全部“端口转发设备侧端口转发数据到主机端口”的转发任务
rport local remote端口转发设备侧端口转发数据到主机端口
rport rm local remote删除指定“端口转发设备侧端口转发数据到主机端口”的转发任务
文件相关命令
命令说明
file send local remote从本地发送文件至远端设备。
file recv remote local从远端设备发送文件至本地。
  1. 从本地发送文件至远端设备,命令格式如下:
hdc file send local remote
  • 参数
参数名说明
local本地待发送的文件路径。
remote远程待接收的文件路径。
  • 返回值
    文件发送成功,返回传输成功的结果信息。文件发送失败,返回传输失败的具体信息。

  • 使用方法:

hdc file send E:\example.txt /data/local/tmp/example.txt
  1. 从远端设备发送文件至本地,命令格式如下:
hdc file recv remote local

参数

参数名说明
local本地待接收的文件路径。
remote远程待发送的文件路径。
  • 返回值
    文件接收成功,返回传输成功的结果信息。文件接收失败,返回传输失败的具体信息。

  • 使用方法:

hdc file recv  /data/local/tmp/a.txt   ./a.txt

app相关命令

命令说明
install packageFile安装指定的应用package文件。
uninstall packageName卸载指定的应用包package包名。
  1. 安装HarmonyOS package,命令格式如下:
hdc install packageFile

参数

参数名说明
packageFileHarmonyOS应用安装包文件。
  • 返回值:
    packageFile安装成功,无返回值。packageFile安装失败,返回具体的失败信息。

  • 使用方法,以安装com.example.hello包为例:

hdc install E:\com.example.hello.hap
  1. 卸载HarmonyOS应用,命令格式如下:
hdc uninstall packageName
  • 参数:
参数名说明
packageName应用安装包包名。
  • 返回值:
    packageName卸载成功,无返回值。packageName卸载失败,返回具体的失败信息。

  • 使用方法,以卸载com.example.hello包为例:

hdc uninstall com.example.hello

调试相关命令

命令说明
shell [COMMAND]交互命令,COMMAND表示需要执行的单次命令。其中当OS镜像API≥9时,不支持交互式进入设备,仅支持交互式命令。
jpid显示可调试应用列表。
track-jpid动态显示可调试应用列表。
hilog [options]打印设备端的日志信息,options表示hilog支持的参数,可通过hdc hilog -h查阅支持的参数列表 。
  1. 抓取log信息,命令格式如下:
hdc hilog [options]
  • 返回值:
    返回抓取到的日志信息。

  • 使用方法:

hdc hilog 
  1. 交互命令,命令格式如下:
hdc shell [COMMAND]
  • 返回值:
    返回shell后面执行命令的结果信息。
  • 使用方法:
hdc shell ps -ef

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/289348.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yarn安装包时报错error Error: certificate has expired

安装教程: 配置镜像地址: npm config set registry https://registry.npmmirror.com清除缓存: yarn cache clean//镜像:https://developer.aliyun.com/mirror/NPM 安装yarn: npm install --global yarn查看版本: …

深入解析Mybatis-Plus框架:简化Java持久层开发(十四)

🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 本章节介绍下Mybatis-Plus框架的通用枚举功能。 📖 正文 1 通用枚举的介绍 通过Mybatis-Plus框架提供的通用枚举功能,枚举可以重复…

jvm底层

逐步细化 静态链接:静态方法(符号引用)替换为内存指针或者句柄直接引用) 动态链接:程序期间将符号引用替换为直接引用 对象头: 指针压缩: -XX:UseCompressedOops 开启指针压缩 减少内存消耗;大指针在主内存 缓存间移…

2024年天津财经大学珠江学院退役大学生士兵专升本专业课缴费流程

天津财经大学珠江学院2024年天津高职升本科(面向退役大学生士兵)职业技能综合考查专业课考试报名缴费流程

PostgreSQL关系型数据库介绍与部署

使用背景 在过去的几年中,PostgreSQL的使用量逐渐增加,而Oracle和MySQL的使用量则有所下降。这主要是由于以下几个原因:开源和免费、功能丰富、可扩展性强、安全性高、跨平台支持好、社区活跃、成熟稳定。这些因素使得PostgreSQL成为了许多开…

redis和redisson实现分布式锁

redis和redisson实现分布式锁 基于setnx命令的分布式锁基于set命令的分布式锁redission看门狗分布式锁 基于setnx命令的分布式锁 1. 加锁 使用 Redis 实现分布式锁,最直接的想法是利用 setnx 和 expire 命令实现加锁。 在 Redis 中,setnx 是「set if …

【Java - 框架 - Lombok】(1) 普通Java项目通过Lombok+Logback完成日志的创建使用 - 快速上手

普通Java项目通过"Lombok""Logback"完成日志的创建使用 - 快速上手&#xff1b; 步骤A 说明 创建"Maven"项目&#xff1b; 图片 步骤B 说明 添加相关依赖项&#xff1b; 图片 代码 <!-- "Lombok"依赖项--> <dependency>&…

处理登录失效后提示多个错误

问题: 我的场景是后端规定&#xff0c;即使登录失效返回的code仍是200&#xff0c;然后data的code是999什么的&#xff1b; 原本代码&#xff1a; 修改版代码&#xff1a; 通过节 const NotLoginEvent () > {router.replace("/login");localStorage.clear();M…

WorkPlus AI助理实现私有化AI智能客服,助力企业满足客户需求

私有化AI智能客服的出现&#xff0c;以其卓越的性能和全面的功能&#xff0c;助力企业提升客户服务体验。WorkPlus AI助理作为一款领先的解决方案&#xff0c;可实现企业的私有化AI智能客服&#xff0c;提升客户服务的质量和效率。 私有化AI智能客服的价值和意义不言而喻。通过…

计算机网络:传输控制协议(Transmission Control Protocol-TCP协议

计算机网络&#xff1a;传输控制协议&#xff08;Transmission Control Protocol-TCP协议&#xff09; 本文目的前置知识点TCP协议简介主要特性通信流程1. 建立连接的过程(三次握手&#xff0c;243)1.1 为什么要三次握手&#xff0c;两次不行吗&#xff1f; 2. 释放连接的过程(…

【QT入门】 Qt代码创建布局之水平布局、竖直布局详解

往期回顾&#xff1a; 【QT入门】 Qt实现自定义信号-CSDN博客 【QT入门】 Qt自定义信号后跨线程发送信号-CSDN博客 【QT入门】 Qt内存管理机制详解-CSDN博客 【QT入门】 Qt代码创建布局之水平布局、竖直布局详解 先看两个问题&#xff1a; 1、ui设计器设计界面很方便&#xf…

学习或复习电路的game推荐:nandgame(NAND与非门游戏)、Turing_Complete(图灵完备)、logisim工具

https://www.nandgame.com/ 免费 https://store.steampowered.com/app/1444480/Turing_Complete/ 收费&#xff0c;70元。据说可以导出 Verilog &#xff01; logisim及其衍生版本 都需要安装java环境。 http://www.cburch.com/logisim/ 是原版&#xff0c; 下载页面&#…

ES的集群节点发现故障排除指南(2)

本文是ES官方文档关于集群节点发现与互联互通的问题排查指南内容&#xff0c;第二部分。 原文参考及相关内容&#xff1a; 英文原文&#xff08;官网&#xff09; 第一部分-&#xff08;1&#xff09; 已选出主节点但状态不稳定&#xff1f; 当一个节点赢得主节点选举时&…

ReentrantLock 原理

(一)、非公平锁实现原理 1、加锁解锁流程 先从构造器开始看&#xff0c;默认为非公平锁实现 public ReentrantLock() {sync new NonfairSync(); } NonfairSync 继承自 AQS 没有竞争时 加锁流程 构造器构造&#xff0c;默认构造非公平锁(无竞争&#xff0c;第一个线程尝试…

二叉树|701.二叉搜索树中的插入操作

力扣题目链接 class Solution { public:TreeNode* insertIntoBST(TreeNode* root, int val) {if (root NULL) {TreeNode* node new TreeNode(val);return node;}if (root->val > val) root->left insertIntoBST(root->left, val);if (root->val < val) r…

【JavaEE】初识线程,线程与进程的区别

文章目录 ✍线程是什么&#xff1f;✍线程和进程的区别✍线程的创建1.继承 Thread 类2.实现Runnable接口3.匿名内部类4.匿名内部类创建 Runnable ⼦类对象5.lambda 表达式创建 Runnable ⼦类对象 ✍线程是什么&#xff1f; ⼀个线程就是⼀个 “执行流”. 每个线程之间都可以按…

RobotFramework编写用例,在Jenkins上如何实现用例的并发运行?

我们了解RobotFramework编写自动化测试用例的方法&#xff0c;了解如何将用例在Jenkins上运行。 但是&#xff0c;随着用例的增多&#xff0c;传统的pybot/robot命令运行测试用例会耗费大量的时间&#xff0c;这就慢慢成为了一个苦恼的问题。 那么&#xff0c;在Jenkins上如何…

Linux_进程概念_冯诺依曼_进程概念_查看进程_获取进程pid_创建进程_进程状态_进程优先级_环境变量_获取环境变量三种方式_3

文章目录 一、硬件-冯诺依曼体系结构二、软件-操作系统-进程概念0.操作系统做什么的1.什么叫做进程2.查看进程3.系统接口 获取进程pid- getpid4.系统接口 获取父进程pid - getppid5.系统接口 创建子进程 - fork1、手册2、返回值3、fork做了什么4、基本用法 6.进程的状态1、进程…

探索Python人工智能在气象监测中的创新应用

Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;在数据处理、科学计算、数学建模、数据挖掘和数据可视化方面具备优异的性能&#xff0c;这些优势使得Python在气象、海洋、地理、气候、水文和生态等地学领域的科研和工程项目中得到广泛应用。可以…

修改nuxtjs项目中的浏览器图标步骤

处理步骤&#xff1a; 打开配置页面 使用el-upload 上传图片到后台 后台把图片转为ico&#xff0c;返回图标路径 配置页面修改本页面预览图&#xff0c;点击保存&#xff0c;修改的数据库。 通知nuxt布局页面&#xff0c;修改head节点中的图标属性&#xff0c;…