PXADB 是 PXA 工作区的主机调试客户端,通过设备串口或模拟器 PXADB2 服务管理应用与设备。安装 App 不需要重烧固件。
安装与发现
python3 -m pip install -e tools/pxadb
pxadb devices
pxadb --help
只有一个经过验证的端点时可以自动选择;多设备时显式使用 --port /dev/ttyACM0 或 --simulator pai-touch。USB 桥设备按实际端口和波特率选择,例如 /dev/ttyUSB0。
应用安装、运行与停止
pxadb package install local/app-output/pai-touch/pxa-hello.pxa --port /dev/ttyACM0
pxadb package list --port /dev/ttyACM0
pxadb package run pxa-hello --port /dev/ttyACM0
pxadb package stop pxa-hello --port /dev/ttyACM0
客户端上传到 inbox,固件核验签名和清单后提交。替换已有版本可加 --yes。存在多个同名 App ID 时使用列表返回的完整身份,避免歧义。
日志与截图
pxadb logcat --port /dev/ttyACM0
pxadb screenshot capture.png --port /dev/ttyACM0
pxadb screenshot --jpeg capture.jpg --after-present --port /dev/ttyACM0
先结束 logcat 再运行其他独占串口操作。JPEG 截图需要固件声明 screenshot-jpeg 能力;没有该能力时使用普通截图。截图失败先确认设备正在呈现画面、板级截图 callback 可用。
远程输入
pxadb input tap 148 120 --port /dev/ttyACM0
pxadb input swipe 40 120 250 120 --duration-ms 300 --port /dev/ttyACM0
pxadb input key back --port /dev/ttyACM0
pxadb input key home --port /dev/ttyACM0
坐标必须处于当前逻辑显示范围。触控旋转或缩放问题要核对输入变换与 Profile,不能仅靠给应用硬编码坐标修复。
图形化文件与包管理
文件浏览、上传下载、包卸载与清除数据可以使用PXADB GUI。CLI 的可用子命令以 pxadb --help 和对应子命令帮助为准,尤其要检查删除类命令的目标。
重启与连接恢复
pxadb reboot --port /dev/ttyACM0
重启后端口可能重新枚举,重新运行 pxadb devices。poweroff 仅在板子提供可控制电源锁存时有效,不应把它当成所有板子都具备的功能。
排查连接问题
| 现象 | 检查顺序 |
|---|---|
| 找不到设备 | 数据线、USB 模式、枚举、用户串口权限、固件服务 |
| 端口忙 | 关闭 IDF monitor、GUI 和其他 PXADB 进程 |
| 安装失败 | 读错误日志,核对签名、身份、空间与清单 |
| 安装成功但运行失败 | AOT 架构、ABI、Service、权限与内存 |
| 模拟器不可连接 | 启动 service,确认 Profile 与实例名 |