OpenHarmony应用开发- DevEco Studio使用指南与调试工具

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

版本:v3.2 Release

DevEco Studio(OpenHarmony)使用指南

HUAWEI DevEco Studio For OpenHarmony(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向OpenHarmony全场景多设备的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等E2E的OpenHarmony应用/服务开发。

​DevEco Studio​​ 作为支撑OpenHarmony应用和服务开发的IDE,具有以下能力特点:

  • 高效智能代码编辑:支持ArkTS、JavaScript、C/C++等语言的代码高亮、代码智能补齐、代码错误检查、代码自动跳转、代码格式化、代码查找等功能,提升代码编写效率。更多详细信息,请参考​​编辑器使用技巧​​。
  • 低代码可视化开发:丰富的UI界面编辑能力,支持自由拖拽组件和可视化数据绑定,可快速预览效果,所见即所得;同时支持卡片的零代码开发,降低开发门槛和提升界面开发效率。更多详细信息,请参考使用​​低代码开发应用/服务​​。
  • 多端双向实时预览:支持UI界面代码的双向预览、实时预览、动态预览、组件预览以及多端设备预览,便于快速查看代码运行效果。更多详细信息,请参考​​使用预览器预览应用/服务界面效果​​。
  • 全新构建体系:通过Hvigor编译构建工具,一键完成应用及服务的编译和打包,更好地支持ArkTS/JS开发。
  • 一站式信息获取:基于开发者了解、学习、开发、求助的用户旅程,在DevEco Studio中提供一站式的信息获取平台,高效支撑开发者活动。
  • 高效代码调试:提供TS、JS 、C/C++代码的断点设置,单步执行、变量查看等调试能力,提升应用及服务的问题分析效率。

更多工具体验和使用指导请见:​​DevEco Studio (OpenHarmony) 使用指南​​。

aa工具

Ability assistant(Ability助手,简称为aa),是实现应用及测试用例启动功能的工具,为开发者提供基本的应用调试和测试能力,例如启动应用组件、强制停止进程、打印应用组件相关信息等。

说明:

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

  • help 用于显示aa相关的帮助信息。
    返回值
    返回对应的帮助信息。
    使用方法

aa help 
  • start 用于启动一个应用组件,目标组件可以是FA模型的PageAbility和ServiceAbility组件,也可以是Stage模型的UIAbility和ServiceExtensionAbility组件,且目标组件相应配置文件中的visible标签不能配置为false。

参数

参数说明

-h/–help

帮助信息。

-d

可选参数,deviceId。

-a

必选参数,abilityName。

-b

必选参数,bundleName。

-D

可选参数,调试模式。

返回值

当启动成功时,返回"start ability successfully.“;当启动失败时,返回"error: failed to start ability.”,同时会包含相应的失败信息。

使用方法

aa start [-d <deviceId>] -a <abilityName> -b <bundleName> [-D]
  • stop-service 用于停止ServiceAbility。

参数

参数说明

-h/–help

帮助信息。

-d

可选参数,deviceId。

-a

必选参数,abilityName。

-b

必选参数,bundleName。

返回值

当成功停止ServiceAbility时,返回"stop service ability successfully.“;当停止失败时,返回"error: failed to stop service ability.”。

使用方法

aa stop-service [-d <deviceId>] -a <abilityName> -b <bundleName>
    bash
  • dump 用于打印应用组件的相关信息。

参数

二级参数

参数说明

-h/–help

-

帮助信息。

-a/–all

-

打印所有mission内的应用组件信息。

-l/–mission-list

type(缺省打印全部)

服务侧为了方便管理任务链,内部维护了4种类型的任务链。

可取值:

- NORMAL: 正常启动的任务链(比如A拉起B拉起C, 则对应的任务链是A->B->C)

- DEFAULT_STANDARD: 已经被破坏的任务链中的任务, 启动模式为standard的任务被放到该任务链中, 这里面的任务之间没有关联关系

- DEFAULT_SINGLE: 已经被破坏的任务链中的任务, 启动模式为singleton的任务被放到该任务链中, 这里面的任务之间没有关联关系

- LAUNCHER: launcher的任务链

-e/–extension

elementName

打印扩展组件信息。

-u/–userId

UserId

打印指定UserId的栈信息,需要和其他参数组合使用,例如aa dump -a -u 100、aa dump -d -u 100。

-d/–data

-

打印DataAbility相关信息。

-i/–ability

AbilityRecord ID

打印指定应用组件详细信息。

-c/–client

-

打印应用组件详细信息,需要和其他参数组合使用,例如aa dump -a -c、aa dump -i 21 -c。

使用方法

aa dump -a

OpenHarmony应用开发- DevEco Studio使用指南与调试工具-鸿蒙开发者社区

aa dump -l

OpenHarmony应用开发- DevEco Studio使用指南与调试工具-鸿蒙开发者社区

aa dump -i 12

OpenHarmony应用开发- DevEco Studio使用指南与调试工具-鸿蒙开发者社区

  • force-stop 通过bundleName强制停止一个进程。

返回值

当成功强制停止该进程时,返回"force stop process successfully.“;当强制停止失败时,返回"error: failed to force stop process.”。

使用方法

aa force-stop <bundleName>

bm工具

Bundle Manager(包管理工具,简称bm)是实现应用安装、卸载、更新、查询等功能的工具,bm为开发者提供基本的应用安装包的调试能力,例如:安装应用,卸载应用,查询安装包信息等。

说明:

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

表1 bm工具命令列表

命令

描述

help

帮助命令,显示bm支持的命令信息

install

安装命令,用来安装应用

uninstall

卸载命令,用来卸载应用

dump

查询命令,用来查询应用的相关信息

clean

清理命令,用来清理应用的缓存和数据

enable

使能命令,用来使能应用,使能后应用可以继续使用

disable

禁用命令,用来禁用应用,禁用后应用无法使用

get

获取udid命令,用来获取设备的udid

quickfix

快速修复相关命令,用来执行补丁相关操作,如补丁安装、补丁查询

帮助命令

表2 help命令列表

命令

描述

bm help

显示bm工具的能够支持的命令信息

示例:

# 显示帮助信息
bm help

安装命令

bm install [-h] [-p path] [-u userId] [-r] [-w waitting-time]

表3 安装命令列表

命令

是否必选

描述

-h

否,默认输出帮助信息

显示install支持的命令信息

-p

安装HAP包路径,支持指定路径和多个HAP同时安装

-u

否,默认安装到当前所有用户上

给指定用户安装一个HAP包

-r

否,默认值为覆盖安装

覆盖安装一个HAP包

-w

否,默认等待5s

安装HAP包时指定bm工具等待时间,最小的等待时长为5s,最大的等待时长为600s, 默认缺省为5s

示例:

bm install -p /data/app/ohosapp.hap -u 100 -w 5s -r
// 执行结果
install bundle successfully.

卸载命令

bm uninstall [-h help] [-n bundleName] [-m moduleName] [-u userId] [-k]

表4 卸载命令列表

命令

是否必选

描述

-h

否,默认输出帮助信息

显示uninstall支持的命令信息

-n

指定包名卸载应用

-m

否,默认卸载所有模块

指定卸载应用的一个模块

-u

否,默认卸载当前所有用户下该应用

指定用户卸载应用

-k

否,默认卸载应用时不保存应用数据

卸载应用时保存应用数据

示例:

bm uninstall -n com.ohos.app -m com.ohos.app.MainAbility -u 100 -k
// 执行结果
uninstall bundle successfully.

查询命令

bm dump [-h help] [-a] [-n bundleName] [-s shortcutInfo] [-u userId] [-d deviceId]

注:-u未指定情况下,默认为所有用户。

表5 查询命令列表

命令

是否必选

描述

-h

否,默认输出帮助信息

显示dump支持的命令信息

-a

查询系统已经安装的所有应用

-n

查询指定包名的详细信息

-s

查询指定包名下的快捷方式信息

-d

否,默认查询当前设备

查询指定设备中的包信息

-u

否,默认查询当前设备上的所有用户

查询指定用户下指定包名的详细信息

示例:

# 显示所有已安装的包名
bm dump -a
# 查询该应用的详细信息
bm dump -n com.ohos.app -u 100
# 查询该应用的快捷方式信息
bm dump -s com.ohos.app -u 100
# 查询跨设备应用信息
bm dump -n com.ohos.app -d xxxxx

清理命令

bm clean [-h] [-c] [-n  bundleName] [-d] [-u userId]

注:-u未指定情况下,默认为当前活跃用户。

表6 清理命令列表

命令

描述

-h

显示clean支持的命令信息

-c -n

清除指定包名的缓存数据

-d -n

清除指定包名的数据目录

-u

清除指定用户下包名的缓存数据

示例:

# 清理该应用下的缓存数据
bm clean -c -n com.ohos.app -u 100
// 执行结果
clean bundle cache files successfully.
# 清理该应用下的用户数据
bm clean -d -n com.ohos.app -u 100
// 执行结果
clean bundle data files successfully.

使能命令

bm enable [-h] [-n bundleName] [-a abilityName] [-u userId]

注:-u未指定情况下,默认为当前活跃用户。

表7 使能命令列表

命令

描述

-h

显示enable支持的命令信息

-n

使能指定包名的应用

-a

使能指定包名下的元能力模块

-u

使能指定用户和包名的应用

示例:

# 使能该应用
bm enable -n com.ohos.app -a com.ohos.app.MainAbility -u 100
// 执行结果
enable bundle successfully.

禁用命令

bm disable [-h] [-n bundleName] [-a abilityName] [-u userId]

注:-u未指定情况下,默认为当前活跃用户。

表8 禁用命令列表

命令

描述

-h

显示disable支持的命令信息

-n

禁用指定包名的应用

-a

禁用指定包名下的元能力模块

-u

禁用指定用户和包名下的应用

示例:

# 禁用该应用
bm disable -n com.ohos.app -a com.ohos.app.MainAbility -u 100
// 执行结果
disable bundle successfully.

获取udid

bm get [-h] [-u]

表9 获取udid命令列表

命令

描述

-h

显示get支持的命令信息

-u

获取设备的udid

示例:

# 获取设备的udid
bm get -u
// 执行结果
udid of current device is :
23CADE0C

快速修复

bm quickfix [-h] [-a -f filePath] [-q -b bundleName]

表10 快速修复命令列表

命令

描述

-h

显示quickfix支持的命令信息

-a -f

执行快速修复补丁安装命令,file-path对应hqf文件,支持传递1个或多个hqf文件,或传递hqf文件所在的目录。

-q -b

根据包名查询补丁信息,bundle-name对应包名。

示例:

# 根据包名查询补丁包信息
bm quickfix -q -b com.ohos.app
// 执行结果
// Information as follows:            
// ApplicationQuickFixInfo:           
//  bundle name: com.ohos.app 
//  bundle version code: xxx     
//  bundle version name: xxx       
//  patch version code: x            
//  patch version name:              
//  cpu abi:                          
//  native library path:             
//  type:                            
# 快速修复补丁安装
bm quickfix -a -f /data/app/
//执行结果
apply quickfix succeed.




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

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