设备原始操作
pb 提供了高层别名命令(tap、swipe、install 等)覆盖常见操作。但设备还暴露了更多能力 — 短信、联系人、传感器、权限等 — 通过原始 API 访问。
用 pb list 发现所有可用 API,pb info 查看详情,pb -j 直接调用。
列出 API
pb list [filter]
查看已连接设备上所有可用的 API 端点,可按关键字过滤。
示例:
bash
pb listtext
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 smsAPI 详情
pb info <api>
查看指定 API 端点的详细信息,包括参数、请求示例和返回格式。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
api | string | 是 | API 端点名称(来自 pb list) |
示例:
bash
pb info input/swipetext
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