HarmonyOS Developer DevEco Studio使用指南-命令行工具

丶龙八夷
发布于 2023-4-4 11:56
浏览
0收藏

bytrace使用指导

简介

bytrace是开发人员用于追踪进程轨迹、分析性能的一种工具,主要对内核ftrace进行了封装和扩展,来支持用户态的打点。通过该工具可以打开想要查看的用户态和内核label(通过下面命令行bytrace -l,查看支持的所有label),然后通过命令行进行抓取trace信息到指定文件中。

参数说明

bytrace当前支持以下命令:

表1 命令行列表

Option

Description

-h,--help

查看option帮助

-b n,--buffer_size n

指定n(KB)内存大小用于存取trace日志,默认2048KB

-t n,--time n

用来指定trace运行的时间(单位:s),取决于需要分析过程的时间

--trace_clock clock

trace输出的时钟类型,一般设备支持boot、global、mono、uptime、perf等,默认为boot

--trace_begin

启动抓trace

--trace_dump

将数据输出到指定位置(默认控制台)

--trace_finish

停止抓trace,并将数据输出到指定位置(默认控制台)

-l,--list_categories

输出手机能支持的trace模块

--overwrite

当缓冲区满的时候,将丢弃最新的信息。(默认丢弃最老的日志)

-o filename,--output filename

指定输出的目标文件名称

-z

抓取trace后进行压缩

使用实例

准备工作,使用bytrace工具需要先进入shell命令行:

hdc shell

以下是常用bytrace命令示例,供开发者参考:

  • 查询支持的label。

bytrace -l  

或者

bytrace --list_categories
  • 设置4M缓存,抓取10秒,抓取label为ability的trace信息。

bytrace -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
  • 设置trace的输出时钟为mono。

bytrace --trace_clock mono  -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
  • 抓取trace后进行压缩。

bytrace -z  -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace

sdkmgr使用指导

sdkmgr(​​点击链接获取​​)是一个HarmonyOS SDK命令行管理工具,支持查看、安装和卸载HarmonyOS SDK,当前仅适用DevEco Studio 3.0 Release(3.0.0.993)及以前的版本。

解压sdkmgr工具包后,请在sdkmgr所在的目录打开CMD命令行工具,然后执行sdkmgr相关命令。

HarmonyOS Developer DevEco Studio使用指南-命令行工具-鸿蒙开发者社区

查看SDK组件

显示本地和远程组件命令格式如下:

sdkmgr list --[options] [<component>]

关于options参数,请参考​​Options选项说明​​。<component>表示组件,取值包括java/js/native/toolchains/previewer。

查询SDK组件的示例如下所示:

  • 显示指定路径下所有组件的安装情况:

sdkmgr list --sdk-directory="/data/sdk"
  • 显示java组件所有API Version的最新版本:

sdkmgr list java

安装SDK组件

安装一个或多个SDK组件命令格式如下:

sdkmgr install --[options] <component1> [<component2>]

关于options参数,请参考​​Options选项说明​​​。<component>表示组件,具体写法请参考​​查看SDK组件​​中关于组件写法的介绍。

安装SDK组件的示例如下所示:

  • 安装Java SDK最高API Version下的最新版本,并指定了SDK存储路径

sdkmgr install --sdk-directory="/data/sdk" java
  • 同时安装API Version为5的Java SDK和JS SDK,默认安装路径为sdkmgr工具根目录的上一级目录。

sdkmgr install java:5 js:5
  • 安装Java SDK指定API Version版本,需要使用http代理来安装,代理信息文件通过config参数进行指定。

sdkmgr install java:5 --config="/data/sdk/config.properties"

其中,config参数指定的配置文件config.properties中包含代理服务器信息和SDK存储路径。

sdk-directory="/data/sdk"
proxy-type=http
proxy=host:port
  • 安装comp.txt中指定的组件,并安装到指定的目录。

sdkmgr install --component-file="/data/sdk/comp.txt" --sdk-directory="/data/sdk"

其中,comp.txt中包含的内容举例如下所示:

java:5
js:5
native:5
toolchains
previewer

卸载SDK组件

卸载一个或多个SDK组件命令格式如下:

sdkmgr uninstall --[options] <component1> [<component2>]

关于options参数,请参考​​Options选项说明​​​。<component>表示组件,具体写法请参考​​查看SDK组件​​中关于组件写法的介绍。

卸载SDK组件的示例如下所示:

  • 卸载本地的Java SDK,可以指定具体的API Version,如果不指定,则会卸载最高API Version的最新版本。

sdkmgr uninstall java:5
  • 同时卸载本地已安装的API Version为5的最新Java SDK和JS SDK版本。

sdkmgr uninstall java:5  js:5

查看sdkmgr版本

查看sdkmgr版本号的命令格式为:

sdkmgr version | --version

查看sdkmgr帮助

查看sdkmgr帮助文档的命令格式为:

sdkmgr help | --help

Options选项说明

Options是sdkmgr的可选配置参数,这些参数可以直接在命令行中执行外,还可以将这些参数配置到sdkmgr配置文件(sdkmgr工具默认配置文件路径为sdkmanager/conf/config.properties)中。

说明

config=<filePath>、component-file=<filePath>和accept-license参数只能在命令行中执行,不能写到配置文件中。

选项

说明

config=<filePath>

sdkmgr配置文件存放目录,默认为sdkmanager/conf/config.properties

sdk-directory=<filePath>

指定存放SDK的根目录,默认路径为sdkmgr工具根目录的上一级目录。

component-file=<filePath>

指定一个文本文件,文件内容指定了需要安装的组件。

node-home=<filePath>

<filePath>指定为Node.js所在的根目录。

proxy-type=<none | http | socks>

代理类型,取值为none或者http或者socks。

proxy=<host:port>

代理服务器的主机和端口。

accept-license

自动签署SDK License协议。

no-ssl-verify

访问HarmonyOS SDK下载路径时,是否进行HTTPS的SSL校验,默认进行SSL校验,设置该参数则会关闭SSL校验。













说明



关闭SSL证书校验,可能会带来安全风险,请谨慎使用。





hdc使用指导

简介

hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与真实设备或者模拟器进行交互。

环境准备

hdc工具通过HarmonyOS sdk获取,存放于sdk的toolchains目录下,使用时将sdk的toolchains目录添加到环境变量。

  • Windows环境变量设置方法:

    ○  在此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量中,添加HDC端口变量名为:HDC_SERVER_PORT,变量值可设置为任意未被占用的端口,如7035。

HarmonyOS Developer DevEco Studio使用指南-命令行工具-鸿蒙开发者社区

    ○  在系统或者用户的path变量中,添加HDC工具路径,HDC工具路径为:HarmonyOS SDK安装目录/hmscore/{版本号}/toolchains

环境变量配置完成后,关闭并重启DevEco Studio。

  • macOS环境变量设置方法:

  a. 打开终端工具,执行以下命令,打开.bash_profile文件。

vi ~/.bash_profile

  b. 单击字母“i”,进入Insert模式。

  c. 输入以下内容,在PATH路径下添加HDC工具路径(HarmonyOS SDK安装目录/hmscore/{版本号}/toolchains)和添加HDC_SERVER_PORT端口信息。

export PATH=$PATH:/Users/admin/Library/HarmonyOS/Sdk/hmscore/{版本号}/toolchains
export CLASSPATH
HDC_SERVER_PORT=7035
launchctl setenv HDC_SERVER_PORT $HDC_SERVER_PORT
export HDC_SERVER_PORT

  d. 编辑完成后,单击Esc键,退出编辑模式,然后输入“:wq”,单击Enter键保存。

  e. 执行以下命令,使配置的环境变量生效。

source ~/.bash_profile

  f.  环境变量配置完成后,关闭并重启DevEco Studio。

注意事项

  • 使用hdc,如果出现异常,可以尝试通过hdc kill -r命令杀掉并重启hdc服务。
  • 如果出现hdc list targets获取不到设备信息的情况,可以通过任务管理器查看是否有hdc进程存在。若进程存在,则通过hdc kill -r命令杀掉该进程。

说明

  • 命令行中被[]修饰的参数表示可选参数。
  • 命令行中的参数若是斜体,表示在使用时该参数需替换为具体的信息,例如:file sendlocal remote命令中的local和remote,使用时需替换为本地待发送和远端待接收的文件路径。

开发指导

全局option

Option

说明

-t [key] [command]

指定连接唯一标识的目标设备。

-s SOCKSPEC

指定服务监听的socket信息。

-h

打印hdc帮助信息。

-v

打印hdc版本信息。

  1. 显示hdc相关的帮助信息,命令格式如下:

hdc -h
  • 返回值:

返回hdc的帮助信息。

  • 使用方法:

hdc -h
  1. 显示hdc的版本信息,命令格式如下:

hdc -v
  • 返回值:

返回hdc的版本信息。

  • 使用方法:

hdc -v
  1. 连接设备时,若仅有一台,无需指定设备标识。若有多台,一次仅能连接一台,每次连接时需要指定连接设备的标识,命令格式如下:

hdc -t [key] [command]
  • 参数:

参数

说明

key

IP地址或USB序列号。

command

hdc支持的命令。

  • 返回值:

若连接的设备不存在,返回 Invalid arguments ***。若附件的命令不存在,返回unknown command ***。

  • 使用方法:

该方法需要与具体的操作命令搭配使用,下面以shell命令举例:

hdc list targets  (获取设备信息)
hdc -t [key] shell (-t后面添加的key需要替换为查询到的某一个设备信息)

说明

一台开发机可连接多个设备,每个设备有唯一的标识。如果通过网络连接设备,标识为IP地址,如果通过usb连接,标识为USB序列号。该命令需要跟随具体的操作命令。

查询相关命令行

命令

说明

help

打印hdc帮助信息。

version

打印hdc版本信息。

list targets [-v]

查询已连接的所有目标设备,添加-v选项,则会打印设备详细信息。

显示所有已经连接的设备列表,命令格式如下:

hdc list targets[-v]
  • 返回值

若没有查询到设备信息,返回[Empty]。若查询到已经连接的的设备,返回设备列表。

  • 使用方法:

hdc list targets
hdc list targets -v
服务进程相关命令

命令

说明

target mount

读写模式挂载系统分区。

target boot

重启目标设备,查看目标列表可用list targets命令。

smode [off]

授予设备端hdc后台服务进程root权限, 使用off参数取消授权。

kill [-r]

终止hdc服务进程,-r表示重启服务进程。

  1. 以读写模式挂载系统分区,命令格式如下:

hdc target mount
  • 返回值

挂载成功,返回remount succeeded。挂载失败,返回具体的失败信息。

  • 使用方法:

hdc target mount
  1. 授予设备端hdc后台服务进程root权限,命令格式如下:

hdc smode [off]
  • 使用方法:

hdc smode  
hdc smode off  // 取消root权限
  1. 终止hdc服务进程,命令格式如下:

hdc kill [-r]
  • 返回值

服务进程终止成功,无返回值。服务进程终止失败,返回具体的失败信息。

  • 使用方法:

hdc kill
hdc kill -r
网络相关命令

命令

说明

tconn [host][:port] [-remove]

通过指定ip地址+端口号连接目标设备。

tmode usb

配置设备端hdc后台服务,使用usb进行通信。

tmode port [port-number]

配置设备端hdc后台服务,使用tcp端口进行通信。

fport list [-b]

列出所有中继连接,-b选项下列出反向连接列表。

fport local remote [–b]

建立中继连接,-b选项下进行反向连接。

fport rm local [-b]

删除指定的local中继连接,无参数则删除所有连接,-b选项下进行反向连接删除。

  1. 通过【ip地址:端口号】来指定连接的设备,命令格式如下:

hdc tconn [host][:port][-remove]
  • 参数

参数

说明

host:port

IP地址+端口号。

-remove

表示断开与指定设备的连接。

  • 返回值

设备连接成功,无返回值。设备连接失败,返回具体的失败信息。

  • 使用方法:

hdc tconn 192.168.0.100:8710
  1. 该命令执行后,设备端对应的daemon进程重启,并优先选用usb连接方式,命令格式如下:

hdc tmode usb
  • 返回值

进程重启成功,无返回值。进程重启失败,返回具体的失败信息。

  • 使用方法:

hdc tmode usb
  1. 该命令执行后,设备端对应的daemon进程重启,优先使用网络方式连接设备,若未连接成功,再选择usb连接。命令格式如下:

hdc tmode port [port-number]
  • 参数

参数

说明

port-number

监听连接的网络端口号。

  • 返回值

进程重启成功,无返回值。进程重启失败,返回具体的失败信息。

  • 使用方法:

hdc tmode port 8710

说明

执行完毕后,远端daemon将会退出并重启,默认启用TCP连接,若未添加监听端口,则监听随机端口。

文件相关命令

命令

说明

file send local remote

从本地发送文件至远端设备。

file recv [-a] remote local

从远端设备发送文件至本地。

  1. 从本地发送文件至远端设备,命令格式如下:

hdc file send local remote
  • 参数

参数

说明

local

本地待发送的文件路径。

remote

远程待接收的文件路径。

  • 返回值

文件发送成功,返回传输成功的结果信息。文件发送失败,返回传输失败的具体信息。

  • 使用方法:

hdc file send E:\example.txt /data/local/tmp/example.txt
  1. 从远端设备发送文件至本地,命令格式如下:

hdc file recv [-a] remote local
  • 参数

参数

说明

-a

文件保留时间戳模式。

local

本地待接收的文件路径。

remote

远程待发送的文件路径。

  • 返回值

文件接收成功,返回传输成功的结果信息。文件接收失败,返回传输失败的具体信息。

  • 使用方法:

hdc file recv  /data/local/tmp/a.txt   ./a.txt

app相关命令

命令

说明

app install [-r/-d/-g] package

安装指定的应用package。

app uninstall [-k] package

卸载指定的应用包package。

  1. 安装HarmonyOS package,命令格式如下:

hdc app install [-r/-d/-g] package
  • 参数

参数

说明

package

HarmonyOS应用安装包。

-r

替换已存在应用。

-d

允许降级安装。

-g

动态授权。

  • 返回值:

package安装成功,无返回值。package安装失败,返回具体的失败信息。

  • 使用方法,以安装com.example.hello包为例:

hdc app install com.example.hello
  1. 卸载HarmonyOS应用,命令格式如下:

hdc app uninstall [-k] package
  • 参数:

参数

说明

package

HarmonyOS应用安装包。

-k

保留缓存数据。

  • 返回值:

package卸载成功,无返回值。package卸载失败,返回具体的失败信息。

  • 使用方法,以卸载com.example.hello包为例:

hdc app uninstall com.example.hello

调试相关命令

命令

说明

shell [COMMAND]

进入交互命令环境,COMMAND表示需要执行的单次命令。

listpid

显示可调试应用列表。

hilog [options]

打印设备端的日志信息,options表示hilog支持的参数,可通过hdc hilog -h查阅支持的参数列表 。

  1. 抓取log信息,命令格式如下:

hdc hilog [options]
  • 返回值:

返回抓取到的日志信息。

  • 使用方法:

hdc hilog
  1. 进入交互命令环境,命令格式如下:

hdc shell [COMMAND]
  • 返回值:

返回shell后面执行命令的结果信息。

  • 使用方法:

hdc shell hilogcat



文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ide-command-line-hdc-0000001237908229-V3​

分类
标签
已于2023-4-4 11:56:29修改
收藏
回复
举报
回复
    相关推荐