鸿蒙应用:获取前台 UI 界面的应用包名
·
一、工具与命令
| 工具/命令 | 作用 |
|---|---|
| hdc | 与设备进行交互调试的工具 |
| uitest dumpLayout | 导出当前页面的布局信息,其中包含当前最前台 UI 界面对应的应用信息 |
二、三步获取包名
第一步:执行 hdc 命令生成布局文件
执行以下命令,在设备的 /data/local/tmp 目录下生成布局信息的 JSON 文件:
hdc shell uitest dumpLayout
第二步:查看生成的 JSON 文件
通过 DevEco Device File Browser(DevEco Studio 右侧边工具栏的设备文件浏览器)查看 /data/local/tmp 目录下的 layout_xxx.json 文件。
第三步:在 JSON 中查找应用信息
在 JSON 文件中,type 为 root 的节点的 attributes 属性展示了当前页面对应的应用信息,包括:
| 字段 | 说明 |
|---|---|
| abilityName | 当前页面对应的 Ability 名称 |
| bundleName | 应用包名 |
| PagePath | 当前页面对应的页面路径 |
执行 hdc shell uitest dumpLayout
↓
设备 /data/local/tmp 目录生成 layout_xxx.json
↓
DevEco Device File Browser 查看该文件
↓
找到 type 为 root 的节点
↓
读取 attributes 中的 bundleName / abilityName / PagePath
其他
-
显示最近运行的应用:
hdc shell aa dump -I或-a。 -
除了包名还能拿到更多信息:abilityName 和 PagePath 也很有用,比如:
-
想知道当前是哪个页面,看 PagePath
-
想知道是哪个 Ability 承载,看 abilityName
-
做自动化测试时,这三个字段可以组合定位。
-
-
命令执行需要设备连接:
hdc shell前提是设备已连接且授权,设备离线时命令会失败。
如果需要脚本化获取包名,可以把 hdc shell uitest dumpLayout 和 JSON 解析组合起来,循环执行即可实现前台应用监控。
更多推荐



所有评论(0)