![Hello HarmonyOS!:鸿蒙应用开发从入门到精通](https://wfqqreader-1252317822.image.myqcloud.com/cover/437/43738437/b_43738437.jpg)
1.2.3 HDC工具配置
HDC(HarmonyOS Device Connector)是HarmonyOS SDK自带的命令行工具,可以与设备进行通信,是一种客户端/服务器程序。在使用DevEco Studio时,一些图形化的操作按钮背后,其实封装了对应的 HDC 命令,比如应用程序的编译、部署和调试等,其实都对应了HDC。
在开发过程中,有时需要手动执行对应的 HDC 进行调试,为了保证在控制台的任意目录下都可以方便地使用HDC,我们将HDC所在的目录配置到系统的环境变量中。
HDC 的本地路径在 C:\<用户>\Administrator\AppData\Local\Huawei\Sdk\toolchains,如图1-23所示。其中,<用户>为安装SDK时登录的Windows用户。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_28_2.jpg?sign=1738834365-2rmGtDJTM7wAbEa0meuLVAHkcTCOvOgZ-0-19138cc9accd6daf2897f1f4be2e9f43)
图1-23 HDC的本地路径
在“我的电脑”图标上点击鼠标右键,选择“属性”→“高级系统设置”→“高级”→“环境变量”选项,在系统变量中找到“Path”,点击“编辑”按钮。然后,新建一条环境变量,将上面的路径配置到Path系统变量中。点击“确定”按钮,完成配置,如图1-24所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_29_1.jpg?sign=1738834365-G76ElBPqERzMHDElVbu17Xtgawx47I0M-0-2c46292047436e90c2e456db5bbf54eb)
图1-24 环境变量配置
打开“运行”窗口,在窗口中输入 hdc help命令,如果可以正常输出信息,那么说明HDC的环境配置完成,如图1-25所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_29_2.jpg?sign=1738834365-WrjiwRlRsW2PEg5djx9OguToKhWbBWvv-0-4268bbc2dc7a9cf69b31149e5daff68e)
图1-25 HDC测试
下面来看HDC的常用命令,掌握这些命令后,可以提高调试应用的效率。
(1)hdc help:查看帮助,可以查看HDC的命令参数。
(2)hdc list targets:列出已连接的设备。该命令的运行结果如图 1-26所示。
(3)hdc version:查看当前的 HDC 版本号。该命令的运行结果如图 1-27所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_30_1.jpg?sign=1738834365-mPVEA83C0KgT7ErSxplr14Ydm5b5br4y-0-b7ab917ca8c24ce6f09f036815d20075)
图1-26 hdc list targets命令的运行结果
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_30_2.jpg?sign=1738834365-Ob7XGqJgE018nn7AirQVq02eCOclVJG9-0-5dcbf44453e89643777e640571b69be9)
图1-27 hdc version命令的运行结果
(4)hdc tconn HOST[:PORT]:连接在TCP端口模式下的设备。
(5)hdc file send LOCAL REMOTE:发送文件。其中,LOCAL为本地文件的全路径,REMOTE 为文件名的全路径。例如,我们在电脑的 D 盘上新建一个文件test.txt,输入hdc file send D:\test.txt/sdcard/test.txt命令将其发送到手机SD卡的根目录。该命令的运行结果如图1-28所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_30_3.jpg?sign=1738834365-7P2fS1gDtDxhbeZm0Olbf13eO3Of04Jv-0-c9e0767e949c5990cae3c2b89ff510c0)
图1-28 hdc file send命令的运行结果
出现“1 file pushed”,说明文件已经被复制到了设备的指定位置,如图1-29所示。
(6)hdc file recv REMOTE LOCAL:接收文件。它的使用方式和发送文件是一样的,用来从设备上读取文件到本地。
(7)hdc shell:打开一个 shell 会话。进入会话后,可以在设备上执行shell命令。该命令的运行结果如图1-30所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_30_4.jpg?sign=1738834365-i4LMealgYYEFA7fP0ozGWlDynTbuUI40-0-957148129508cfd83d194ea47d55ccf4)
图1-29 发送到手机中的文件
打开 shell 会话后,出现了 HWLYA:/$,说明已经进入shell环境,在这里可以执行Linux命令。例如,执行cd sdcard和ls-l test.txt命令,运行结果分别如图1-31和图1-32所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_31_1.jpg?sign=1738834365-ZBBqdpHgXBCTbHiLBThVFpdHoAhTDaKn-0-6562434a01c0548a70c187b303d35000)
图1-30 hdc shell命令的运行结果
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_31_2.jpg?sign=1738834365-0egVAdYIEQpU4VBktjsk3WVthusXjZnv-0-c1b0bbfa2150c18960a9221fd4df42f9)
图1-31 shell cd sdcard命令的运行结果
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_31_3.jpg?sign=1738834365-OTnm1SHCt99z8jr4OMxO49rWiaLOM6dA-0-c0d1d8df44a72368572533c8e3b055ae)
图1-32 shell ls-1 test.txt命令的运行结果
在shell命令中,am(Ability Manager)命令可以模拟各种系统的行为,比如启动Ability、强制停止进程、发送广播、修改设备属性等。
例如:启动Ability的命令为
am start-n com.example.demo/.MainAbility
在shell命令中,pm(Package Manager)命令可以查询设备上的应用信息(比如查询应用的安装路径、包信息)、安装应用、卸载应用等。
例如:列出所有已安装的包的命令为
pm list packages
例如:安装应用的命令为
hdc app install [-rdg] PACKAGE
该命令可以通过包名将程序安装到设备上,其中包含三个参数,各参数的含义如下:
-r:更换现有应用程序。
-d:允许版本降级(只兼容调试模式)。
-g:授予所有权限。
由于一个App包含多个HAP,还可以一次安装多个HAP,命令为
hdc app install-multiple--hap HAP-PATH
例如:卸载应用的命令为
app uninstall [-k] PACKAGE
其中,-k参数表示不移除用户数据。
(8)hdc listpid:显示可调试的应用程序进程列表。
(9)hdc hilog:跟踪日志。该命令会跟踪系统的HiLog日志,直至取消。
(10)hdc reset:重置HDC连接。该命令会重新连接设备。