Skip to content

屏幕与 UI

截图

pb screencap

截取设备屏幕。图片以 JPG 格式(质量 80)保存在本地。

截图保存路径:.phonebase/screencap/{YYYYMMDD}/{device_code}-{timestamp}.jpg

TIP

支持内联图片的终端(iTerm2、Kitty)会直接在终端内显示预览。

示例:

bash
pb screencap
text
✓ 截图已保存: .phonebase/screencap/20250115/IDY291LX6WW6RCW-20250115143022.jpg
json
{
  "code": 200,
  "data": {
    "path": ".phonebase/screencap/20250115/IDY291LX6WW6RCW-20250115143022.jpg",
    "size": 45678
  },
  "msg": "截图已保存: .phonebase/screencap/20250115/IDY291LX6WW6RCW-20250115143022.jpg"
}

UI 层次导出

pb dump

导出完整的 UI 层次结构(缩进 XML 格式)。用于了解屏幕结构。

示例:

bash
pb dump

人类输出(节选):

xml
<node class="android.widget.FrameLayout" bounds="[0,0][1080,2400]">
  <node class="android.widget.LinearLayout" bounds="[0,0][1080,2400]">
    <node class="android.widget.TextView" text="你好" bounds="[100,200][300,250]" />
  </node>
</node>

精简 UI 导出

pb dumpc

导出精简版 UI 层次结构。比 pb dump 更简洁,聚焦关键属性。

示例:

bash
pb dumpc

UI 检查

pb inspect [device_id] [--text] [--image]

生成交互式 UI 检查报告。创建 HTML 文件,包含双面板视图:线框图和带可点击热区的标注截图。

参数类型必填说明
device_idstring设备 ID。默认使用已连接设备
--textflag只输出线框图(跳过截图标注)
--imageflag只生成标注截图(跳过线框图)

输出目录:.phonebase/inspect/{YYYYMMDD}/{timestamp}/

输出内容包括:

  • *-inspect.html -- 交互式 HTML 检查器(在浏览器中打开)
  • *-screenshot.jpg -- 原始截图
  • *-layout.xml -- 原始 UI 层次 XML

示例:

bash
pb inspect
text
✓ 检查完成
  inspect:    .phonebase/inspect/20250115/IDY291LX6WW6RCW-20250115143022-inspect.html
  screenshot: .phonebase/inspect/20250115/IDY291LX6WW6RCW-20250115143022-screenshot.jpg
  layout:     .phonebase/inspect/20250115/IDY291LX6WW6RCW-20250115143022-layout.xml
json
{
  "code": 200,
  "data": {
    "inspect": ".phonebase/inspect/20250115/IDY291LX6WW6RCW-20250115143022-inspect.html",
    "screenshot": ".phonebase/inspect/20250115/IDY291LX6WW6RCW-20250115143022-screenshot.jpg",
    "layout": ".phonebase/inspect/20250115/IDY291LX6WW6RCW-20250115143022-layout.xml"
  },
  "msg": "检查完成"
}

TIP

在浏览器中打开 -inspect.html 文件(大多数终端中 Cmd+点击),可以悬停查看元素属性。

屏幕信息

pb display

获取设备屏幕分辨率和旋转方向。

示例:

bash
pb display
text
Width: 1080  Height: 2400  Rotation: 0
json
{
  "code": 200,
  "data": {
    "width": 1080,
    "height": 2400,
    "rotation": 0
  },
  "msg": "OK"
}

剪贴板

pb clipboard [text]

获取或设置设备剪贴板内容。不传参数时返回当前剪贴板文本,传参数时设置剪贴板。

参数类型必填说明
textstring要设置的文本。省略则读取当前剪贴板

示例:

bash
# 获取剪贴板内容
pb clipboard

# 设置剪贴板内容
pb clipboard "Hello World"

打开链接

pb browse <url>

在设备浏览器中打开链接。按优先级尝试浏览器:Via > Via GP > Chrome > 系统默认。

参数类型必填说明
urlstring要打开的 URL

示例:

bash
pb browse "https://example.com"