同步操作将从 OpenHarmony/developtools_hdc 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
HDC(OpenHarmony Device Connector) 是为开发人员提供的用于设备连接调试的命令行工具,pc端开发机使用命令行工具hdc,该工具需支持部署在Windows/Linux/Mac等系统上与OpenHarmony设备(或模拟器)进行连接调试通信。PC端hdc工具需要针对以上开发机操作系统平台分别发布相应的版本,设备端hdc daemon需跟随设备镜像发布包括对模拟器进行支持。下文将介绍hdc的常用命令及使用举例。
hdc主要有三部分组成:
hdc client部分:运行于开发机上的客户端,用户可以在开发机命令终端(windows cmd/linux shell)下请求执行相应的hdc命令,运行于开发机器,其它的终端调试IDE也包含hdc client。
hdc server部分:作为后台进程也运行于开发机器,server管理client和设备端daemon之间通信包括连接的复用、数据通信包的收发,以及个别本地命令的直接处理。
hdc daemon部分:daemon部署于OpenHarmony设备端作为守护进程来按需运行,负责处理来自client端的请求。
/developtools
├── hdc # hdc代码目录
│ └── src
│ ├── common # 设备端和host端公用的代码目录
│ ├── daemon # 设备端的代码目录
│ ├── host # host端的代码目录
│ └── test # 测试用例的代码目录
hdc pc端可执行文件编译步骤:
编译命令:编译sdk命令 请参考https://gitee.com/openharmony/build/blob/master/README_zh.md 仓编译sdk说明, 执行其指定的sdk编译命令来编译整个sdk, hdc会被编译打包到里面。
编译:在目标开发机上运行上面调整好的sdk编译命令, 正常编译hdc会输出到sdk平台相关目录下; 注意: ubuntu环境下只能编译windows/linux版本工具,mac版需要在macos开发机上编译。
1.下载sdk获取(建议)
通过访问本社区网站下载dailybuilds(http://ci.openharmony.cn/dailys/dailybuilds)或正式发布的sdk压缩包,从中根据自己平台到相应的目录toolchain下解压提取
2.自行编译
编译请参考上面单独小节,本项目仓prebuilt目录下不再提供预制
3.支持运行环境
linux版本建议ubuntu 18.04以上 64位,其他相近版本也可;libc++.so引用错误请使用ldd/readelf等命令检查库引用 windows版本建议windows10 64位,如果低版本windows winusb库缺失,请使用zadig更新库。对于复合设备,需要使用zadig工具安装libusb-win32驱动。
在Linux下在非root权限下使用hdc会出现无法找到设备的情况,此问题原因为用户USB操作权限问题,解决方法如下:
开启非root用户USB设备操作权限 该操作方法简单易行,但是可能存在潜在安全问题,请根据使用场景自行评估
sudo chmod -R 777 /dev/bus/usb/
永久修改 USB 设备权限 1)使用lsusb命令找出USB设备的vendorID和productID 2)创建一个新的udev规则
编辑UDEV加载规则,用设备的"idVendor"和"idProduct"来替换默认值。MODE="0666"表示USB设备的权限 GROUP代表用户组,要确保此时登录的系统用户在该用户组中 可用 "usermod -a -G username groupname" 将用户添加到用户组中
sudo vim /etc/udev/rules.d/90-myusb.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GROUP="users", MODE="0666"
重启电脑或重新加载 udev 规则
sudo udevadm control --reload
su 切换到root用户下运行测试程序
sudo hdc list targets
hdc当前常用命令如下,未尽命令使用hdc -h或者hdc --help查看:
表 1 hdc常用命令列表
以下是常用hdc命令示例,供开发者参考:
查看设备连接信息
hdc list targets
往设备中推送文件
hdc file send E:\a.txt /data/local/tmp/a.txt
从设备中拉取文件
hdc file recv /data/local/tmp/a.txt ./a.txt
安装应用
hdc install E:\***.hap
查看日志
hdc hilog
进入命令行交互模式
hdc shell
TCP网络连接。
hdc tconn 192.168.0.100:10178
工具使用过程中碰到问题,可以参考如下流程自助排查:
注意:客户端和设备端版本保持一致(hdc -v,hdcd -v参数查看版本)!
请参考上面《使用问题自查说明》小节
1)检查设备是否连接正常;
2)host端设备管理器设备信息是否正常;
3)两端工具版本是否一致;
4)设备端hdcd是否启动正常;
如果仍然无法解决问题,请尝试下面两种方法进行恢复
1)执行命令hdc kill来重启pc侧hdc服务;
2)重启端侧设备;
同问题1同样排查步骤,另外注意在root权限下执行;
如果server进程起不来,请先sudo rm /tmp/*.pid 然后再使用sudo 执行list targets看看是否正常显示设备列表
1)从dailybuild或正式发布的sdk压缩包,重新解压提取工具;
2)检查文件大小和版本、校验哈希值;
3)本工具是控制台命令行下执行即可,适配平台下无任何组件和驱动依赖,不需要安装,不要尝试双击运行;
推送文件前参考执行如下命令:
hdc smode
hdc shell mount -o rw,remount /
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。