OpenHarmony应用开发- 调试工具

素年锦时静待君丶
发布于 2023-4-13 19:19
浏览
0收藏

版本:v3.2 Release

打包工具

打包工具是OpenHarmony提供的一种调测工具,支持通过命令行的方式生成HAP、将多个HAP打包为App Pack(Application Package),或将多个HAP和App Pack打包为App Pack。App Pack为应用市场上架时所需的包格式。

打包所用的app_packing_tool.jar,可以在本地下载的OpenHarmony的SDK库中找到。

  • 打包为HAP Stage模型打包命令如下:

java -jar app_packing_tool.jar --mode <option> --json-path <option> --resources-path <option> --ets-path <option> --index-path <option> --pack-info-path <option> --out-path <option> --force <option>

FA模型打包命令如下:

java -jar app_packing_tool.jar --mode <option> --json-path <option> --maple-so-path <option>  --profile-path <option> --maple-so-dir <option> --dex-path <option> --lib-path <option> --resources-path <option> --index-path <option> --out-path <option> --force <option>

命令参数含义及规范请见下表。

指令

是否必选项

描述

–mode

打包类型,此处为hap。

–json-path

.json文件路径,FA模型文件名必须为config.json;stage模型文件名必须为module.json5。

–profile-path

CAPABILITY.profile文件路径

–maple-so-path

maple so文件输入路径,so文件路径,文件名必须以.so为后缀。如果是多个so需要用","分隔。

–maple-so-dir

maple so目录输入路径。

–dex-path

1.dex文件路径,文件名必须以.dex为后缀。如果是多个dex需要用","分隔。

2.dex文件路径也可以为目录。

–lib-path

lib库文件路径。

–resources-path

resources资源包路径。

–index-path

.index文件路径,文件名必须为resources.index。

–pack-info-path

pack.info文件路径,文件名必须为pack.info。

–rpcid-path

rpcid.sc文件路径,文件名必须为rpcid.sc。

–js-path

存放js文件目录路径,仅stage模型生效。

–ets-path

存放ets文件的目录路径,仅stage模型生效。

–out-path

目标文件路径,文件名必须以.hap为后缀。

–force

默认值为false,如果为true,表示当目标文件存在时,强制删除。

  • 将多个HAP打包为APP包 命令如下:

java -jar app_packing_tool.jar --mode <option> --hap-path <option>  --out-path <option> --signature-path <option> --certificate-path <option>  --pack-info-path <option> --force <option>

命令参数含义及规范请见下表。

指令

是否必选项

描述

–mode

打包类型,此处为app。在将多个HAP打入同一个app时,需保证每个HAP的versionCode、versionName字段相同。

–hap-path

1.HAP文件路径,文件名必须以.hap为后缀。如果是多个HAP需要用","分隔。

2.HAP文件路径也可以是目录。

–pack-info-path

文件名必须为pack.info。

–out-path

目标文件路径,文件名必须以.app为后缀。

–signature-path

签名路径。

–certificate-path

证书路径,请参见​​签名指导​​。

–force

默认值为false,如果为true,表示当目标文件存在时,强制删除。

  • 多个HAP或者多个APP打包为APP包 命令如下:

java -jar app_packing_tool.jar --mode <option> --hap-list <option> --app-list <option> --out-path <option>

命令参数含义及规范请见下表。

指令

是否必选项

描述

–mode


打包类型,此处为multiApp。在将多个HAP打入同一个APP时,需保证每个HAP满足合法性校验规则。

–hap-list

1.HAP文件路径,文件名必须以.hap为后缀。如果是多个HAP需要用","分隔。

2.HAP文件路径也可以是目录。

–app-list

1.APP文件路径,文件名必须以.app为后缀。如果是多个APP包需要用","分隔。

2.APP文件路径也可以是目录。

3.–hap-list命令与–app-list不可以都不传。

–out-path

目标文件路径,文件名必须以.app为后缀。

–force

默认值为false,如果为true,表示当目标文件存在时,强制删除。

多工程打包HAP合法性校验规则:

    ○   需保证被打包的每个HAP在配置文件(请参见"​​FA模型配置文件​​​"或 “​​Stage模型配置文件​​”)中配置的bundleName、versionCode、versionName、minCompatibleVersionCode、minAPIVersion, targetAPIVersion , apiReleaseType等字段相同。

    ○   每个HAP的moduleName唯一,同一设备Entry类型的HAP唯一。

    ○   对于FA模型,还需要保证json文件中配置的package唯一。

拆包工具

拆包工具是OpenHarmony提供的一种调测工具,支持通过命令行方式将HAP拆分为文件夹或者将App Pack(Application Package)拆分为HAP。

拆包所用的app_unpacking_tool.jar,可以在本地下载的OpenHarmony的SDK库中找到。

  • HAP拆包命令

java -jar app_unpacking_tool.jar --mode <option> --hap-path <option>  --out-path <option> --force <option>

命令参数含义及规范请见下表。

指令

是否必选项

描述

–mode

拆包类型,此处为hap。

–hap-path

HAP路径。

–rpcid

是否单独将rpcid文件从HAP中提取到指定目录,如果为true,将仅提取rpcid文件,不对HAP进行拆包。

–out-path

拆包目标文件路径。

–force

默认值为false,如果为true,表示当目标文件存在时,强制删除。

  • App包拆包命令

java -jar app_unpacking_tool.jar --mode <option> --app-path <option>  --out-path <option> --force <option>

命令参数含义及规范请见下表。

指令

是否必选项

描述

–mode

拆包类型,此处为hap。

–app-path

app包路径。

–out-path

拆包目标文件路径。

–force

默认值为false,如果为true,表示当目标文件存在时,强制删除。

  • 从HAP中获取rpcid文件命令

java -jar app_unpacking_tool.jar --mode <option> --rpcid <option>  --hap-path <option> --out-path <option> --force <option>

命令参数含义及规范请见下表。

指令

是否必选项

描述

–mode

拆包类型,此处为hap。

–rpcid

是否单独将rpcid文件从HAP中提取到指定目录,如果为true,将仅提取rpcid文件,不对HAP进行拆包。

–out-path

拆包rpcid目标文件路径。

–hap-path

HAP路径。

cem工具

Common Event Manager(公共事件管理工具, 简称cem)是实现公共事件信息打印、发布公共事件等功能的工具,为开发者提供基本的公共事件调试和测试能力,例如打印所有公共事件订阅者、已发送公共事件和接受者、模拟发布公共事件等。

说明:

在使用本工具前,开发者需要先获取​​hdc工具​​,执行hdc shell。

cem调试助手

help
  • 介绍
    打印帮助信息。
  • 用法

cem help
publish
  • 介绍
    发布公共事件。
  • 用法

cem publish [<options>]

参数如下表所示

参数

参数说明

-e/–event

必选参数,发布事件名称

-s/–sticky

可选参数,发布粘性事件,默认发布非粘性事件

-o/–ordered

可选参数,发布有序事件,默认发布无序事件

-c/–code

可选参数,公共事件结果码

-d/–data

可选参数,公共事件携带数据

-h/–help

帮助信息

  • 示例:

# 发布名称为testevent的公共事件
cem publish --event "testevent"

OpenHarmony应用开发- 调试工具-鸿蒙开发者社区

# 发布名称为testevent的粘性有序公共事件,该事件的结果码为100,携带数据内容为“this is data”
cem publish -e "testevent" -s -o -c 100 -d "this is data"

OpenHarmony应用开发- 调试工具-鸿蒙开发者社区

dump
  • 介绍
    打印公共事件相关信息。
  • 用法

cem dump [<options>]

参数如下表所示

参数

参数说明

-a/–all

打印开机以来所有已发送的公共事件及其具体信息

-e/–event

查询特定名称事件的具体信息

-h/–help

帮助信息

  • 示例

# 打印公共事件名称为testevent的具体信息
cem dump -e "testevent"

OpenHarmony应用开发- 调试工具-鸿蒙开发者社区

anm工具

Advanced Notification Manager(通知管理工具,简称anm)是实现通知打印、设置通知参数等功能的工具,为开发者提供基本的通知调试和测试能力,例如打印已发布通知详细信息、设置通知缓存个数、使能通知等。

说明:

在使用本工具前,开发者需要先获取​​hdc工具​​,执行hdc shell。

help

  • 介绍
    打印帮助信息。
  • 用法

anm help

dump

  • 介绍
    打印通知相关信息。
  • 用法

anm dump [<options>]

参数如下表所示

参数

参数说明

-A/–active

打印所有活跃的通知信息

-R/–recent

打印最近的通知信息

-D/–distributed

打印来自其他设备的分布式通知信息

-b/–bundle

可选参数,设置指定的包名打印

-u/–user-id

可选参数,设置指定的用户ID打印

-h/–help

帮助信息

  • 示例:打印活跃的通知信息

anm dump -A

OpenHarmony应用开发- 调试工具-鸿蒙开发者社区

Setting

  • 介绍
    设置通知参数。
  • 用法

anm setting [<options>]

参数如下表所示

参数

参数说明

-c/–recent-count

设置保存在内存中的最近通知的最大个数

-e/–enable-notification

设置通知使能开关

-h/–help

帮助信息

  • 示例:设置保存在内存中的最近通知的最大数为100个

anm setting -c 100




文章转载自:​​https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/tools/anm-tool.md/​

分类
已于2023-4-13 19:19:48修改
收藏
回复
举报
回复
    相关推荐