HDC: 设备连接调试的命令行工具
- 查看设备连接信息
hdc_std list targets
- 往设备中推送文件
hdc_std file send E:\test.txt /data/test.txt
- 从设备中拉取文件
hdc_std file recv /data/test.txt E:\test.txt
- 安装应用
hdc_std install E:\test.hap
- 查看日志
hdc_std hilog
- 进入命令行交互
hdc_std shell
- 开发板截屏
hdc_std shell snapshot_display -f /data/2022.png
- 关闭日志限流
设备重启,需再次输入命令:hdc_std shell hilog -Q pidoff
- 关闭隐私标志
hdc_std shell hilog -p off
- 开启 debug 日志
hdc_std shell hilog -b D
- 保持设备常亮
hdc_std shell power-shell setmode 602
- 唤醒设备
hdc_std shell power-shell wakeup
- 设备休眠
hdc_std shell power-shell suspend
bm: 开发者调试的一个工具。
bm工具被hdc工具封装,进入hdc_std shell命令后,就可以使用bm工具
- 查询系统已经安装的所有应用
bm dump -a
- 显示该应用的详细信息
bm dump -n ohos.samples.distributedcalc
- 获取设备的udid
bm get -u
其他常用命令
- 进入桌面
注:2022-12 OpenHarmony master版本
hdc_std shell "uinput -T -m 425 1000 425 400;power-shell wakeup"
- 下拉控制中心
注:2022-12 OpenHarmony master版本
hdc_std shell "uinput -T -m 630 0 630 600;power-shell wakeup"
- 进入计算器
注:2022-12 OpenHarmony master版本
hdc_std shell "uinput -M -m 73 290 -c 0 -b 100;power-shell wakeup"
- 查看 Linux 系统架构
hdc_std shell uname -a
- 查看系统是32位还是64位
hdc_std shell getconf LONG_BIT 若返回64则为64位系统,否则为32位系统
- 查看全部系统变量
hdc_std shell getconf -a
附1:hdc命令行使用表格
Option | Description |
-t key | 用于指定连接该指定设备识Key举例:hdc -t *****(设备id) shell |
-s socket | 用于指定服务监听的socket配置举例:hdc -s ip:port |
-h/help -v/version | 用于显示hdc相关的帮助、版本信息 |
-l 0-5 | 用于指定运行时日志等级举例: hdc -l5 start |
checkserver | 用于获取client-server版本举例: hdc checkserver |
list targets[-v] | 显示所有已经连接的目标设备列表,-v选项显示详细信息举例: hdc list targets |
target mount | 以读写模式挂载/vendor、/data等分区,因为安全性问题,需要挂在根目录或者/system分区请单独使用'hdc shell mount -o rw,remount /'等命令举例: hdc target mount |
target boot | 重启设备举例: hdc target boot |
smode [-r] | 授予后台服务进程root权限, 使用-r参数取消授权举例: hdc smode |
kill [-r] | 终止hdc服务进程, -r选项会触发再次重启hdc server举例: hdc kill |
start [-r] | 启动hdc服务进程, -r选项会触发重启hdc server举例: hdc start |
tconn host[:port][-remove] | 通过【ip地址:端口号】来指定连接的设备使用TCP模式连接设备,需在USB模式工作下使用tmode tcp切换至TCP工作模式,或者在 系统属性值中设置persist.hdc.mode属性值为tcp,如果需要监听固定TCP端口需要再设置 persist.hdc.port的端口号,反之则TCP监听端口随机举例: hdc tconn 192.168.0.100:10178 |
tmode usb | 执行后设备端对应daemon进程重启,并首先选用usb连接方式 |
tmode port port-number | 执行后设备端对应daemon进程重启,并优先使用网络方式连接设备,如果连接设备再选择usb连接 |
file send local remote | 从host端发送文件至设备端举例: hdc file send E:\a.txt /data/local/tmp/a.txt |
file recv [-a] remote local | 从设备端拉出文件至本地host端举例: hdc file recv /data/local/tmp/a.txt ./a.txt |
fport localnode remotenode | 端口转发主机端口 转发数据到 设备侧端口举例: hdc fport tcp:1234 tcp:1080 |
rport remotenode localnode | 端口转发设备侧端口 转发数据到 主机端口举例: hdc rport tcp:1234 tcp:1080 |
fport ls | 展示全部转发任务 |
fport rm | 删除指定转发任务举例: hdc fport rm tcp:1234 tcp:1080 |
install [-r/-d/-g] package | 安装OpenHarmony package举例: hdc install E:\***.hap |
uninstall [-k] package | 卸载OpenHarmony应用 |
hilog | 支持查看抓取hilog调试信息举例: hdc hilog |
shell [command] | 远程执行命令或进入交互命令环境举例: hdc shell |
jpid | 获取JDWP调试进程列表 |
附2:hilog命令行使用表格
短选项 | 长选项 | 参数 | 说明 |
-h | --help | 帮助命令 | |
缺省 | 缺省 | 阻塞读日志,不退出 | |
-x | --exit | 非阻塞读日志,读完退出 | |
-g | 查询buffer的大小,配合-t指定某一类型使用,默认app和core | ||
-G | --buffer-size | <size> | 设置指定<type>日志类型缓冲区的大小,配合-t指定某一类型使用,默认app和core, 可使用B/K/M/G为单位 |
-r | 清除buffer日志,配合-t指定某一类型使用,默认app和core | ||
-p | --privacy | <on/off> | 支持系统调试时日志隐私开关控制 |
on | 打开隐私开关,显示<private> | ||
off | 关闭隐私开关,显示明文 | ||
-k | <on/off> | Kernel日志读取开关控制 | |
on | 打开读取kernel日志 | ||
off | 关闭读取kernel日志 | ||
-s | --statistics | 查询统计信息,需配合-t或-D使用 | |
-S | 清除统计信息,需配合-t或-D使用 | ||
-Q | <control-type> | 流控缺省配额开关控制 | |
pidon | 进程流控开关打开 | ||
pidoff | 进程流控开关关闭 | ||
domainon | domain流控开关打开 | ||
domainoff | domain流控开关关闭 | ||
-L | --level | <level> | 指定级别的日志,示例:-L D/I/W/E/F |
-t | --type | <type> | 指定类型的日志,示例:-t app core init |
-D | --domain | <domain> | 指定domain |
-T | --Tag | <tag> | 指定tag |
-a | --head | <n> | 只显示前<n>行日志 |
-z | --tail | <n> | 只显示后<n>行日志 |
-P | --pid | <pid> | 标识不同的pid |
-e | --regex | <expr> | 只打印日志消息与<expr>匹配的行,其中<expr>是一个正则表达式 |
-f | --filename | <filename> | 设置落盘的文件名 |
-l | --length | <length> | 设置落盘的文件大小,需要大于等于64K |
-n | --number | <number> | 设置落盘文件的个数 |
-j | --jobid | <jobid> | 设置落盘任务的ID |
-w | --write | <control> | 落盘任务控制 |
query | 落盘任务查询 | ||
start | 落盘任务开始,命令行参数为文件名、单文件大小、落盘算法、rotate文件数目. | ||
stop | 落盘任务停止 | ||
-m | --stream | <algorithm> | 落盘方式控制 |
none | 无压缩方式落盘 | ||
zlib | zlib压缩算法落盘,落盘文件为.gz | ||
zstd | zstd压缩算法落盘,落盘文件为.zst | ||
-v | --format | <format> | |
time | 显示本地时间 | ||
color | 显示不同级别显示不同颜色,参数缺省级别颜色模式处理(按黑白方式) | ||
epoch | 显示相对1970时间 | ||
monotonic | 显示相对启动时间 | ||
usec | 显示微秒精度时间 | ||
nsec | 显示纳秒精度时间 | ||
year | 显示将年份添加到显示的时间 | ||
zone | 显示将本地时区添加到显示的时间 | ||
-b | --baselevel | <loglevel> | 设置可打印日志的最低等级:D(DEBUG)/I(INFO)/W(WARN)/E(ERROR)/F(FATAL) |
附3:bm命令行使用表格
命令 | 描述 |
help | 帮助命令,显示bm支持的命令信息 |
install | 安装命令,用来安装应用 |
uninstall | 卸载命令,用来卸载应用 |
dump | 查询命令,用来查询应用的相关信息 |
clean | 清理命令,用来清理应用的缓存和数据 |
enable | 使能命令,用来使能应用 |
disable | 禁用命令,用来禁用应用 |
get | 获取udid命令,用来获取设备的udid |
quickfix | 快速修复相关命令,用来执行补丁相关操作,如补丁安装、补丁查询 |
安装命令
命令 | 描述 |
bm install -h | 显示install支持的命令信息 |
bm install -p | 安装hap包,支持指定路径和多个hap同时安装 |
bm install -p -u | 给指定用户安装一个hap包 |
bm install -r -p | 覆盖安装一个hap包 |
bm install -r -p -u | 给指定用户覆盖安装一个hap包 |
bm install -r -p -u -w | 安装hap包时指定bm工具等待时间,最小的等待时长为5s,最大的等待时长为600s, 默认缺省为5s |
卸载命令
命令可以组合,下面列出部分命令。-u未指定情况下,默认为所有用户。
命令 | 描述 |
bm uninstall -h | 显示uninstall支持的命令信息 |
bm uninstall -n | 通过指定包名卸载应用 |
bm uninstall -n -u | 通过指定包名和用户卸载应用 |
bm uninstall -n -m | 通过指定包名卸载应用的一个模块 |
查询命令
-u未指定情况下,默认为所有用户。
命令 | 描述 |
bm dump -h | 显示dump支持的命令信息 |
bm dump -a | 查询系统已经安装的所有应用 |
bm dump -n | 查询指定包名的详细信息 |
bm dump -n -s | 查询指定包名下的快捷方式信息 |
bm dump -n -d | 跨设备查询包信息 |
bm dump -n -u | 查询指定用户下指定包名的详细信息 |
清理命令
-u未指定情况下,默认为当前活跃用户。
命令 | 描述 |
bm clean -h | 显示clean支持的命令信息 |
bm clean -n -c | 清除指定包名的缓存数据 |
bm clean -n -d | 清除指定包名的数据目录 |
bm clean -n -c -u | 清除指定用户下包名的缓存数据 |
bm clean -n -d -u | 清除指定用户下包名的数据目录 |
使能命令
-u未指定情况下,默认为当前活跃用户。
命令 | 描述 |
bm enable -h | 显示enable支持的命令信息 |
bm enable -n | 使能指定包名的应用 |
bm enable -n -a | 使能指定包名下的元能力模块 |
bm enable -n -u | 使能指定用户和包名的应用 |
禁用命令
-u未指定情况下,默认为当前活跃用户。
命令 | 描述 |
bm disable -h | 显示disable支持的命令信息 |
bm disable -n | 禁用指定包名的应用 |
bm disable -n -a | 禁用指定包名下的元能力模块 |
bm disable -n -u | 禁用指定用户和包名下的应用 |
获取udid命令
命令 | 描述 |
bm get -h | 显示get支持的命令信息 |
bm get -u | 获取设备的udid |
快速修复命令
命令 | 描述 |
bm quickfix -h | 显示quickfix支持的命令信息 |
bm quickfix -a -f | 执行补丁安装命令 |
bm quickfix -q -b | 根据包名查询补丁包信息 |