Termux API 技能
通过 SSH 使用 Termux API 命令控制 Android 设备。
前提条件
- Android 设备上已安装 Termux
- 已安装 Termux:API 应用并授予权限
- 已配置 SSH 访问(默认端口为 8022)
- 已安装
termux-api 软件包:pkg install termux-api
连接
# Default SSH connection
ssh -p 8022 <device-ip> '<termux-api-command>'
重要说明
- 执行相机/麦克风命令时,Termux 必须处于前台
- 必须授予权限:前往 Android 设置 → Termux:API → 权限
- 如果命令超时,请启动 API 服务:
termux-api-start
API 命令参考
设备信息
| 命令 | 描述 |
|---|
termux-battery-status | 电池电量、充电状态、温度 |
termux-audio-info | 音频设备信息 |
termux-wifi-connectioninfo | 当前 WiFi 连接详情 |
termux-wifi-scaninfo | 扫描附近的 WiFi 网络 |
termux-telephony-deviceinfo | 手机/SIM 信息 |
termux-telephony-cellinfo | 基站信息 |
termux-sensor -l | 列出可用传感器 |
termux-sensor -s <sensor> -n 1 | 读取一次传感器数据 |
相机与媒体
| 命令 | 描述 |
|---|
termux-camera-info | 列出相机(id 0=后置,1=前置) |
termux-camera-photo -c <id> <file.jpg> | 拍照(需要处于前台) |
termux-microphone-record -f <file> | 录制音频 |
termux-media-player play <file> | 播放音频文件 |
termux-tts-speak "text" | 文本转语音 |
termux-tts-engines | 列出 TTS 引擎 |
通知与反馈
| 命令 | 描述 |
|---|
termux-notification -t "title" -c "content" | 显示通知 |
termux-notification-remove --id <id> | 移除通知 |
termux-toast "message" | 显示 Toast 弹窗 |
termux-vibrate -d <ms> | 振动指定时长 |
termux-torch on/off | 切换手电筒 |
termux-dialog | 显示对话框(多种类型) |
通信(需要权限)
| 命令 | 描述 |
|---|
termux-sms-list -l 10 | 列出最近的 SMS |
termux-sms-send -n <number> "message" | 发送 SMS |
termux-contact-list | 列出联系人 |
termux-call-log -l 10 | 最近的通话记录 |
termux-telephony-call <number> | 拨打电话 |
剪贴板
| 命令 | 描述 |
|---|
termux-clipboard-get | 获取剪贴板内容 |
termux-clipboard-set "text" | 设置剪贴板内容 |
位置
| 命令 | 描述 |
|---|
termux-location | 获取 GPS 位置(需要权限) |
termux-location -p gps | 使用 GPS 定位源 |
termux-location -p network | 使用网络定位源 |
系统控制
| 命令 | 描述 |
|---|
termux-volume | 获取/设置音量级别 |
termux-brightness <0-255> | 设置屏幕亮度 |
termux-wallpaper -f <file> | 设置壁纸 |
termux-wake-lock | 防止设备休眠 |
termux-wake-unlock | 允许设备休眠 |
存储与共享
| 命令 | 描述 |
|---|
termux-share -a send <file> | 通过 Android Intent 共享文件 |
termux-open <file> | 使用默认应用打开文件 |
termux-open-url <url> | 在浏览器中打开 URL |
termux-download <url> | 下载文件 |
termux-storage-get <dest> | 从存储中选择文件 |
常见用法
自拍并取回照片
# Ensure Termux is in foreground first
adb shell am start -n com.termux/.HomeActivity
# Take photo
ssh -p 8022 <ip> 'termux-camera-photo -c 1 ~/selfie.jpg'
# Retrieve via SCP
scp -P 8022 <ip>:~/selfie.jpg /local/path/
发送带操作的通知
ssh -p 8022 <ip> 'termux-notification -t "Alert" -c "Task complete" --id myalert --vibrate 200,100,200'
获取设备位置
ssh -p 8022 <ip> 'termux-location -p network'
# Returns JSON with latitude, longitude, accuracy
监控电池
ssh -p 8022 <ip> 'termux-battery-status' | jq '.percentage, .status'
故障排除
命令超时
- 启动 API 服务:
termux-api-start
- 检查是否已安装 Termux:API 应用
- 对于相机/麦克风:确保 Termux 应用处于前台
权限被拒绝
- 打开 Android 设置 → 应用 → Termux:API → 权限
- 授予所需权限(相机、位置、SMS 等)
SSH 连接被拒绝
- 在 Termux 中运行:
pkg install openssh && sshd
- SSH 默认运行在端口 8022
- 使用
passwd 设置密码,或将 SSH 密钥添加到 ~/.ssh/authorized_keys