1、如何使用HDC工具向只读路径(如system/lib64)中传输文件
A:由于手机目录中有些是只读的,需要通过mount -o rw,remount /xxx(目录) 挂载对应的目录,让其变成可读可写的。具体步骤如下:
-
查看设备是否连接成功: hdc shell。
-
将目标目录变成可读可写的:进入shell后输入:mount -o rw,remount /system/lib64。
-
退出:exit。
-
传输文件到目标目录:hdc file send xxx /system/lib64 (可直接将文件拖到cmd窗口)。
2、如何用hdc命令将本地文件发送至远端设备
A:从本地发送文件至远端设备,命令格式如下:
hdc file send local remote
其中local表示本地待发送的文件路径,remote表示远程待接收的文件路径。
使用方法如下:
hdc file send E:\example.txt /data/local/tmp/example.txt
3、hdc命令无法使用,报“‘hdc’不是内部或外部命令,也不是可运行的程序或批处理文件”错误
A:可能原因:初始使用hdc工具路径未配置环境变量或升级至HarmonyOS NEXT Developer Preview1版本之后,hdc工具位置发生变更。
解决措施
-
在系统或用户的Path变量中添加过hdc工具路径。
-
在系统或用户的path变量中添加过hdc工具路径,当SDK升级至HarmonyOS NEXT Developer Preview1版本之后,在DevEco Studio以外直接使用hdc命令行时,将出现找不到hdc的报错:‘hdc’不是内部或外部命令,也不是可运行的程序。
如需使用hdc命令行,请重新配置环境变量,将路径修改为:SDK安装目录/HarmonyOS-NEXT-DP1/base/toolchains。例如:
D:\Huawei\DevEcoStudioSdk\Huawei\Sdk\HarmonyOS-NEXT-DP1\base\toolchains
4、如何通过hdc命令将.hsp文件安装到设备中
A:通过hdc命令安装:hdc install -r ./library1-default-signed.hsp
hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与真实设备进行交互。
5、如何查看ArkCompiler出现Error日志时,具体的异常调用栈信息
A:Native抛异常,如果需要查看backtrace,需要运行如下命令。
打开异常栈:
hdc shell param set persist.ark.properties 0x125c hdc shell reboot
恢复默认值:
hdc shell param set persist.ark.properties 0x105c hdc shell reboot
6、hdc工具的属性开关有哪些?例如Ark属性开关等
A:在命令行输入“hdc shell ark”可以看到Ark命令行的所有参数和开关。
7、hdc工具导出/导入文件等常用hdc命令有哪些
A:如下
导出文件:hdc file recv 手机路径
电脑路径导入文件:hdc file send 电脑路径
手机路径查看手机连接:hdc list targets
手机常亮:hdc shell power-shell setmode 602
查看OUC进程:ps -ef|grep com.huawei.hmos.ouccom.ohos.updateapp
查看DUE进程:ps -ef|grep updater_sa
8、如何解决hdc无法运行的问题
A:Linux环境建议ubuntu 18.04以上 64位,其他相近版本也可;libc++.so引用错误请使用ldd/readelf等命令检查库引用。
Windows版本建议windows10 64位,如果低版本windows winusb库缺失,请使用zadig更新库。对于复合设备,需要使用zadig工具安装libusb-win32驱动。
9、如何解决hdc的Connect server failed-端口抢占问题
A:如下
-
查看默认端口8710是否被占用,没有则解决多个hdc间冲突。
-
解决多个hdc间的冲突,任务管理器-详细信息-按Caps Lock切换大写后按H,看下hdc.exe的数量及具体路径,关闭全部hdc.exe。
-
建议清理本地旧版本的hdc,关闭自带hdc.exe工具的应用,执行hdc kill后确保仅新版本hdc.exe被使用即可,如需使用deveco等自带hdc.exe工具,建议hdc环境变量配置为deveco内部hdc的路径。
10、如何解决桌面云设备无法识别HDC Device的问题
A:如下
-
多次执行以下命令,直至设备管理器中HDC Device被刷新,至此可以恢复连接。
hdc kill
-
本地其他软件使用的HDC为非桌面云专用hdc,需要找到并替换对应软件(如DevEco Testing/Studio等)使用其自带sdk中专用的libusb_shared.dll文件。
11、是否有目录可以通过hdc file send写入可执行程序
A:设计的标准临时目录是/data/local/tmp,建议使用此目录。
12、如何解决Mac电脑不能识别hdc命令的问题
A:如下
-
环境变量因素解决方法参考:
-
点击屏幕左上角的苹果图标,然后在Mac上转到系统设置 -> 用户与群组。
-
按住Ctrl键,点击左侧窗格中的你的用户帐户名称,然后选择“高级选项”。
-
点击"Login Shell"下拉框或"Change",然后选择"/bin/bash"以将Bash作为默认shell。
-
-
非环境变量因素解决方法参考:
-
打开终端,输入cd ~。
-
sudo vim .bash_profile。
-
文档底部输入:
export PATH=${PATH}: Sdk/HarmonyOS-NEXT-DB1/base/toolchains
然后esc退出,并在下方输入:wq保存退出。
-
source .bash_profile回车执行,运行环境变量。
-
输入hdc -v,出现版本信息即可使用。
-
13、如何解决hdc运行不了,点击hdc.exe文件无法运行的问题
A:可能原因如下:
-
运行环境异常:linux版本建议ubuntu 18.04以上(64位)或其他相近版本。libc++.so引用错误,请使用ldd/readelf等命令检查库引用。windows版本建议windows10(64位),如果低版本windows winusb库缺失,请使用zadig更新库。对于复合设备,需要使用zadig工具安装libusb-win32驱动。
-
hdc驱动问题:设备管理器中只留一个hdc device驱动。
运行hdc.exe方式:hdc.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中,通过打开cmd执行hdc命令直接使用。
14、如何通过hdc命令拉起指定的UIAbility
A:可以通过如下命令拉起指定UIAbility :
hdc shell aa start -a <UIAbility Name> -b <Bundle Name>
启动成功时,返回"start ability successfully.",启动失败时,返回"error: failed to start ability.",同时会包含相应的失败信息。
15、如何使用hdc shell aa start的参数
A:如下
-
1.-p性能调优;-D可选参数,调试模式;-S表示沙箱应用,-N表示应用启动lldb调试。
-
2.参数设置比如隐式拉起应用可参考以下用法:hdc shell aa start -A ohos.want.action.viewData -e entity.system.browsable -U
16、如何通过hdc命令关闭整个应用
A:可以通过如下命令结束应用:
hdc shell aa force-stop <Bundle Name>
返回force stop process successfully,表示结束应用成功。
17、如何在多设备情况下使用hdc
A:多设备时执行hdc shell会失败,需要指定设备执行hdc -t xx shell,否则会报错。
18、如何通过HDC命令截屏/获取相册
A:如下
-
截屏
hdc shell snapshot_display -f /data/local/tmp/test111.jpeghdc file recv /data/local/tmp/test111.jpeg(/data/local/tmp下,后缀为jpeg)
-
拉取系统相册:
hdc file recv /data/service/el2/100/hmdfs/account/files/Photo
19、如何通过hdc命令清除手机中应用的缓存
A:清除数据:hdc shell bm clean -d -n 应用包名。示例如下:
清除缓存:hdc shell bm clean -c -n 应用包名。示例如下:
20、如何通过hdc命令唤醒设备和查看屏幕状态
A:唤醒设备:hdc shell power-shell wakeup,
查看屏幕状态:hdc shell hidumper -s 3301 -a -a,
查询手机IMEI:要先进入fastboot(hdc target boot bootloader),然后用fastboot的命令查询(fastboot oem get-psid)
21、是否支持通过HDC命令安装.app文件
A:不支持直接安装.app文件,app是给到应用市场那边的包文件。
22、如何通过HDC命令清除应用数据
A:可以使用以下命令进行清除应用数据的操作:hdc shell bm clean -n 包名 -d
23、使用hdc install xxx.hap安装HAP,报“9568305: dependent module does not exist”的错误
A:因为工程依赖了hsp包,需要先安装hsp包,再安装hap包即可。
24、如何通过hdc命令获取设备的udid
A:可以通过如下命令之一,获取设备的udid:
hdc shell bm get -uhdc shell bm get --udid
更多详情查看:文档中心