【鸿蒙】hdc(该工具可以在windows/linux/mac系统上与设备进行交互)

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

配置hdc

官网链接(文档中心

注意在配置 Windows环境变量设置方法 时,如下图最后一个($DevEco Studio安装目录/sdk/default/openharmony/toolchains):

在开发工具(DevEco Studio)中打开终端,输入hdc --version,显示版本号就配置成功了。

hdc的作用

1.查询真机的udid

命令:hdc shell bm get --udid

2.把hap包安装到真机

命令:hdc install D:\entry-default-signed.hap (其中D:\entry-default-signed.hap为hap包目录地址)

3.使用DevTools工具调试web组件中的前端页面

文档地址

示例:
hdc shell
cat /proc/net/unix | grep devtools
//显示 webview_devtools_remote_3458
exit
hdc fport tcp:9222 localabstract:webview_devtools_remote_3458
hdc fport ls

4.其他

以下是一些更全面的HDC常用命令:

### 设备信息查询
  - **查看设备详细信息**:`hdc list targets -v`,可以查看已连接设备的详细信息,包括设备的连接状态、IP地址、端口号等.
  - **获取设备的UDID**:`hdc shell bm get --udid` 或 `hdc shell bm get -u`,UDID是设备的唯一设备标识符,在设备管理和应用调试等场景中可能会用到.
  - **查看设备的系统属性**:`hdc shell getprop [属性名称]`,例如 `hdc shell getprop ro.build.version.incremental` 可以获取设备的版本号.

  ### 应用管理
  - **强制停止应用**:`hdc shell am force-stop [appName]`,可用于在应用出现异常或需要强制关闭时停止应用的运行.
  - **获取应用列表**:`hdc shell bm list`,能够列出设备上已安装的所有应用的包名和版本号等信息.
  - **获取应用Ability信息**:`hdc shell bm dump [appName]`,可以查看指定应用的Ability相关信息,有助于了解应用的架构和功能.
  - **清除应用数据**:`hdc shell bm clean [appName]`,此命令会清除应用的所有数据,包括用户设置、缓存文件等,使应用恢复到初始安装状态.
  - **清除应用缓存**:`hdc shell bm clean -c [appName]`,仅清除应用的缓存数据,不会影响用户的其他设置和数据.

  ### 日志操作
  - **查看日志**:`hdc hilog`,可以在终端实时打印设备的日志信息,方便开发人员查看应用的运行状态和排查问题.
  - **开始保存日志到文件**:`hdc shell hilog -w start`,将设备的日志信息开始保存到文件中,以便后续进行详细分析.
  - **停止保存日志到文件**:`hdc shell hilog -w stop`,停止将日志信息保存到文件.

  ### 文件操作
  - **删除文件**:`hdc shell rm -rf [filePath]`,用于删除设备上指定路径的文件或文件夹.
  - **列出目录内容**:`hdc shell ls [目录路径]`,可以查看设备上指定目录下的文件和文件夹列表。

### 设备操作
  - **重启设备**:`hdc shell reboot`,可远程重启连接的鸿蒙设备.
  - **点亮屏幕(唤醒)**:`hdc shell input keyevent 224`,通过发送按键事件来点亮设备屏幕,在设备处于睡眠状态时可使用此命令唤醒设备.

  ### 端口转发
  - **本地端口转发到手机**:`hdc port-forward [本地端口号] [设备端口号]`,可以将本地计算机上的指定端口号的数据转发到设备的对应端口号,方便进行网络调试等操作.
  - **显示端口转发列表**:`hdc port-forward -l`,查看已经设置的端口转发任务列表.
  - **删除端口转发任务**:`hdc port-forward -r [本地端口号] [设备端口号]`,删除指定的端口转发任务.

  ### 模拟操作
  - **屏幕截图**:`hdc shell snapshot_display -f [保存路径]`,可截取设备当前屏幕的图像并保存到指定的路径下.
  - **屏幕录屏**:`hdc shell screenrecord [保存路径]`,用于录制设备的屏幕操作过程,并将录制的视频保存到指定路径.
  - **点击操作**:`hdc shell input tap [x坐标] [y坐标]`,在设备屏幕的指定坐标位置模拟点击操作,可用于自动化测试等场景.
  - **滑动操作**:`hdc shell input swipe [起始x坐标] [起始y坐标] [结束x坐标] [结束y坐标]`,在设备屏幕上模拟从起始坐标到结束坐标的滑动操作.

  ### 其他操作
  - **查看HDC版本**:`hdc -v`,输出版本号,确认HDC工具是否正常可用以及当前使用的版本.
  - **杀掉HDC进程**:`hdc kill`,类似于 `adb kill-server`,用于停止HDC服务,在出现连接问题或需要重新启动HDC时可使用.
  - **重启HDC**:`hdc start -r`,重启HDC服务,以便重新建立与设备的连接或解决一些潜在的连接问题.


HDC(Huawei Device Connector)是用于与鸿蒙设备进行通信和交互的工具,以下是一些常用命令: **一、设备连接相关命令** 1. **查看连接的设备列表** - 命令:`hdc list targets` - 解释:此命令用于列出当前通过HDC连接的所有鸿蒙设备。它会显示设备的序列号、设备类型等信息,方便你确认已经连接的设备,以便后续操作可以准确地定位到目标设备。例如,在一个有多台鸿蒙设备连接到开发环境的场景中,通过这个命令可以区分不同的设备。 2. **连接设备** - 命令:`hdc connect [设备序列号]` - 解释:如果你的鸿蒙设备没有自动连接,或者你想指定连接某一台设备,可以使用这个命令。其中“[设备序列号]”需要替换为你要连接设备的实际序列号。序列号是设备的唯一标识,可以在设备的设置 - 关于手机(或类似选项)中查看。通过这个命令,可以建立HDC与目标设备之间的通信链路,使得后续的操作指令能够发送到该设备上。 3. **断开设备连接** - 命令:`hdc disconnect [设备序列号]` - 解释:当你完成对某一设备的操作,或者需要更换连接的设备等情况时,可以使用这个命令来断开与指定设备的连接。同样,“[设备序列号]”要替换为实际的设备序列号。这有助于释放资源,并且在重新连接等操作时避免可能出现的冲突。 **二、应用管理相关命令** 1. **安装应用** - 命令:`hdc install [APK文件路径]` - 解释:用于将鸿蒙应用的安装包(.hap文件)安装到连接的鸿蒙设备上。“[APK文件路径]”需要替换为你要安装的应用安装包在本地计算机上的实际路径。例如,如果你将应用安装包放在了“D:\app\myapp.hap”这个路径下,那么命令就应该是“hdc install D:\app\myapp.hap”。这个命令会将应用安装到设备的应用存储区域,并完成必要的安装步骤,如解压、配置等。 2. **卸载应用** - 命令:`hdc uninstall [应用包名]` - 解释:当你需要从鸿蒙设备上删除某个应用时,可以使用这个命令。“[应用包名]”是应用在鸿蒙系统中的唯一标识符,通常可以在应用的配置文件或者应用商店中获取。例如,对于一个名为“MyApp”的应用,其包名可能是“com.example.myapp”,通过这个命令可以彻底删除该应用及其相关的数据(根据应用的数据存储策略,部分数据可能会保留,如存储在外部存储的用户文件等)。 3. **启动应用** - 命令:`hdc shell am start -n [应用包名]/[启动Activity名称]` - 解释:用于在连接的鸿蒙设备上启动一个应用。“[应用包名]”和“[启动Activity名称]”需要根据应用的实际情况进行替换。Activity是鸿蒙应用中的一个组件,用于实现用户界面等功能。例如,对于一个简单的主界面Activity,这个命令可以将应用启动到该主界面,使得用户可以开始使用应用。如果不知道应用的启动Activity名称,可以通过查看应用的代码或者使用一些工具来获取。 **三、文件操作相关命令** 1. **从设备拉取文件** - 命令:`hdc file recv [设备文件路径] [本地保存路径]` - 解释:这个命令可以将鸿蒙设备中的文件复制到本地计算机上。“[设备文件路径]”是文件在设备中的存储位置,“[本地保存路径]”是你希望将文件保存到本地计算机的位置。例如,如果你想将设备中的一张照片(位于“/storage/emulated/0/DCIM/Camera/photo.jpg”)复制到本地计算机的“D:\photos”文件夹下,命令可以是“hdc file recv /storage/emulated/0/DCIM/Camera/photo.jpg D:\photos”。这对于备份设备中的数据,如日志文件、配置文件等非常有用。 2. **向设备推送文件** - 命令:`hdc file send [本地文件路径] [设备文件路径]` - 解释:与拉取文件相反,此命令用于将本地计算机上的文件发送到鸿蒙设备中。“[本地文件路径]”是文件在本地计算机中的位置,“[设备文件路径]”是你希望将文件存储在设备中的位置。比如,你要将一个测试用的配置文件(本地路径为“C:\config\test.cfg”)发送到设备的“/data/local/tmp”目录下,命令可以是“hdc file send C:\config\test.cfg /data/local/tmp”。这在向设备部署测试文件、更新资源文件等场景中经常使用。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值