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