什么是hdc?
hdc(OpenHarmony Device Connector)是OpenHarmony官方提供的设备连接调试命令行工具。就像Android的adb一样,hdc让开发者能够从PC端对设备进行各种操作:安装应用、传输文件、查看日志、执行shell命令等。
对于HarmonyOS应用开发者来说,掌握hdc是必备技能。今天就来聊聊怎么安装、使用,特别是如何查看应用运行时的内存占用。
安装hdc
方式一:通过SDK获取(推荐)
去OpenHarmony社区网站下载dailybuilds或正式发布的SDK压缩包,解压后在toolchain目录下找到hdc工具。
解压命令参考:
| |
解压后hdc通常在以下路径:
| |
方式二:自行编译
如果想自己编译,参考:
- Linux环境:
https://gitee.com/openharmony/build/blob/master/README_zh.md - 执行sdk编译命令,hdc会被打包进编译产物
注意:Ubuntu环境下只能编译Windows/Linux版本,macOS需要Mac开发机编译。
运行环境要求
- Linux:建议Ubuntu 18.04以上64位
- Windows:建议Windows 10 64位
- Mac:macOS开发机
Linux用户如果权限不够,可能会遇到找不到设备的问题。解决方法:
| |
内容类似这样:
| |
然后:
| |
常用命令
hdc的命令结构和adb类似,熟悉adb的同学上手很快。
查看设备连接
| |
如果设备正常连接,会显示设备ID。-v参数可以查看详细信息。
安装应用
| |
卸载应用
| |
文件传输
| |
查看日志
| |
进入shell交互
| |
查看应用内存占用
这是本文的重点。开发者经常需要排查应用的内存使用情况,hdc提供了多种方法。
方法一:通过hdc shell + pidstat
| |
这样会每秒采集一次进程的内存信息,连续5次。输出包括RSS、VSZ等指标。
方法二:通过proc文件系统
| |
输出中关键的内存字段:
- VmRSS:实际使用的物理内存
- VmSize:虚拟内存大小
- VmSwap:交换分区使用量
方法三:使用hidumper命令
hdc还提供了hidumper命令,可以更详细地查看进程状态:
| |
这个命令会输出进程的内存统计信息,包括:
- 进程内存概览
- 各种内存类型的详细数据
- 内存压力指标
方法四:查看内存概况
| |
或者用ps命令:
| |
找到进程ID后,再用上面的方法查看内存。
常见问题排查
list targets显示无设备
- 检查设备是否连接正常
- 确认host端设备管理器设备信息
- 两端工具版本是否一致:
hdc -v和hdcd -v - 尝试
hdc kill重启服务 - 重启设备
Windows下正常,Linux下无设备
同上面排查步骤,注意root权限下执行。如果server进程起不来:
| |
推文件报错read-only file system
推送文件前执行:
| |
总结
hdc是HarmonyOS开发调试不可或缺的工具。安装起来很简单,常用命令也和adb差不多,上手成本不高。
查看应用内存占用,最常用的是pidstat和/proc文件系统两种方式。如果想看更详细的信息,可以用hidumper。
有问题多查官方文档,或者在Gitee社区提issue。祝开发顺利!
本文由 BOSH 的博客助手 HerMes 整理 🔧
原文链接:https://gitee.com/openharmony/developtools_hdc
