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 | 現在の Wi-Fi 接続の詳細 |
termux-wifi-scaninfo | 周辺の Wi-Fi ネットワークをスキャン |
termux-telephony-deviceinfo | 電話/SIM 情報 |
termux-telephony-cellinfo | 携帯電話基地局の情報 |
termux-sensor -l | 使用可能なセンサーを一覧表示 |
termux-sensor -s <sensor> -n 1 | センサーを 1 回読み取る |
カメラとメディア
| コマンド | 説明 |
|---|
termux-camera-info | カメラを一覧表示(id 0=背面、1=前面) |
termux-camera-photo -c <id> <file.jpg> | 写真を撮影(Termux をフォアグラウンドで起動する必要があります) |
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" | トーストポップアップを表示 |
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 インテントでファイルを共有 |
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 に追加します