Skip to content

设备原始操作

pb 提供了高层别名命令(tapswipeinstall 等)覆盖常见操作。但设备还暴露了更多能力 — 短信、联系人、传感器、权限等 — 通过原始 API 访问。

pb list 发现所有可用 API,pb info 查看详情,pb -j 直接调用。

列出 API

pb list [filter]

查看已连接设备上所有可用的 API 端点,可按关键字过滤。

示例:

bash
pb list
text
  accessibility/get_hidden  获取无障碍服务隐藏状态
  accessibility/node        操作 UI 节点
  account/add               添加账号
  account/list              获取账号列表
  battery/get               获取电池信息
  contact/add               添加联系人
  contact/list              获取联系人列表
  display/rotate            屏幕旋转
  input/motion_event        发送原始 MotionEvent 事件
  input/multi_click         多击
  input/swipe               滑动
  location/get_data         获取位置信息
  location/set_data         设置位置信息
  notification/list         获取活跃通知列表
  package/clear_data        清除应用数据
  permission/get            获取应用权限
  permission/set            设置应用权限
  sensor/list               获取传感器列表
  sms/list                  获取短信列表
  sms/receive               接收短信(模拟发送短信)
  system/get_prop           获取系统属性
  system/set_prop           设置系统属性
  ...
json
{
  "code": 200,
  "data": {
    "input/swipe": { "title": "滑动" },
    "sms/list": { "title": "获取短信列表" },
    "contact/add": { "title": "添加联系人" },
    "location/set_data": { "title": "设置位置信息" },
    "..."
  },
  "msg": "OK"
}
bash
# 按关键字过滤
pb list sms

API 详情

pb info <api>

查看指定 API 端点的详细信息,包括参数、请求示例和返回格式。

参数类型必填说明
apistringAPI 端点名称(来自 pb list

示例:

bash
pb info input/swipe
text
  input/swipe  滑动
json
{
  "code": 200,
  "data": {
    "input/swipe": {
      "title": "滑动",
      "content": "- URL: /input/swipe\n- 方式: POST\n- 参数:\n  | 参数名 | 类型 | 必选 | 说明 |\n  | start_x | int | 是 | 起点 X |\n  | start_y | int | 是 | 起点 Y |\n  | end_x | int | 是 | 终点 X |\n  | end_y | int | 是 | 终点 Y |\n  | duration | int | 否 | 持续时间 (ms),默认 300 |"
    }
  },
  "msg": "OK"
}

原始 API 调用

使用 -j(JSON body)或 -f(文件)参数直接调用任意设备 API。这是访问没有别名命令的 API 的方式。

示例 — 发送短信:

bash
pb -j '{"address":"13800001234","body":"Hello from PhoneBase"}' sms/add

示例 — 获取电池信息:

bash
pb battery/get

示例 — 显示 Toast 提示:

bash
pb -j '{"text":"Hello!"}' system/toast

从文件或 stdin 读取 JSON:

bash
# 从文件
pb -f params.json sms/list

# 从 stdin
echo '{"type":1,"limit":10}' | pb -f - sms/list