一、工具与命令

工具/命令作用
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

其他

  1. 显示最近运行的应用:hdc shell aa dump -I 或 -a 。

  2. 除了包名还能拿到更多信息:abilityName 和 PagePath 也很有用,比如:

    • 想知道当前是哪个页面,看 PagePath

    • 想知道是哪个 Ability 承载,看 abilityName

    • 做自动化测试时,这三个字段可以组合定位。

  3. 命令执行需要设备连接:hdc shell 前提是设备已连接且授权,设备离线时命令会失败。

如果需要脚本化获取包名,可以把 hdc shell uitest dumpLayout 和 JSON 解析组合起来,循环执行即可实现前台应用监控。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐