ADB / Android Debug Bridge
Macro Deck に同梱USB または Wi-Fi で Android のスマートフォンやタブレットを操作します。画面のスリープ解除、アプリの起動、タップ、文字入力、スクリーンショットの撮影ができます。
ADB / Android Debug Bridge 連携の概要タブ。設定で ADB を有効にするよう促す通知が表示されています
- 接続した Android デバイスのスリープ解除、ロック、再起動
- デバイス上のアプリの起動や強制終了、リンクを開く操作
- キー、タップ、スワイプ、テキストの送信
- デバイス画面のスクリーンショットをフォルダーに保存
- バッテリー、画面、前面のアプリに関するデバイスのイベントと変数
ADB 連携は、Android の開発者が使うのと同じツールである Android Debug Bridge (ADB) を通じて、Android のスマートフォンやタブレットを操作します。Macro Deck は adb プログラムを見つけて ADB サーバーを実行し、USB で接続されたデバイスや Wi-Fi で接続されたデバイスを管理します。公式の Android platform-tools をダウンロードすることもできます。
各アクションは、アクションで選んだデバイスに対して実行されます。デバイス を空欄にした場合は既定のデバイスが使われます。既定のデバイスは 設定 > ADB の 既定に設定 で選んだデバイスです。何も選んでいない場合は、接続されている唯一のデバイスが使われます。
できること
- 画面と電源: デバイスのスリープを解除する、画面をオフにする (Android ではこれでデバイスがロックされます)、Android、リカバリー、ブートローダーのいずれかで再起動する。
- アプリとリンク:
com.spotify.musicのようなパッケージ名でアプリを起動または強制終了する、デバイスが選んだアプリでリンクを開く。 - 入力: Home、Back、Volume Up、Media Play Pause などのキーを送信する、画面の一点をタップする、ある点から別の点へスワイプする、フォーカスされている入力欄にテキストを入力する。
- スクリーンショット: 画面を PNG ファイルとしてコンピューター上のフォルダーに保存し、必要に応じてファイルのパスを変数に書き込む。
設定例:
- 机の上のタブレットのスリープを解除して音楽アプリを開くボタン。
- スマートフォンに Media Play Pause を送るボタン。
- デバイスが接続されました で動き、タブレットを接続するとすぐにそのタブレットでダッシュボードのページを開くオートメーション。
ライブステータス
この連携は、デバイスの接続、切断、承認、未承認への変化、オフライン化、オンラインへの復帰を通知するので、フローやボタンがそれに反応できます。変数には、接続済みデバイスと承認済みデバイスの数が入ります。既定のデバイスについては、モデル、メーカー、バッテリー残量、画面がオンかどうか、ロック画面が表示されているかどうか、前面にあるアプリも入ります。承認済みの各デバイスにも、そのモデル名にちなんだ名前の専用の変数が作られます。連携が有効な間は、各 Android デバイスのバッテリーがバッテリーウィジェットにも表示されます。
基本的なアクション (キー、タップ、スワイプ、テキスト、アプリ、リンク、再起動、スクリーンショット) は Macro Deck がロックされている間も動作するので、これらを割り当てたボタンはコンピューターがロックされていても使えます。
必要なもの
- Windows、macOS、Linux 上の Macro Deck 3
- 開発者向けオプションで USB デバッグを有効にした Android デバイス
- データ通信に対応した USB ケーブル、または Wi-Fi 接続用のワイヤレスデバッグ
- Android platform-tools (adb)。Macro Deck の「設定 > ADB」でダウンロードできます
- Linux では、ユーザーが USB デバイスにアクセスする権限 (通常は udev ルールで設定)
セットアップ
ステップ 1: ADB 連携を有効にする
サイドバーで 連携 をクリックし、ADB / Android Debug Bridge をクリックします。右上のスイッチをオンにするまで、この連携は無効のままです。オンにすると、次のステップで ADB を有効にするまで、ページに ADB はオフになっています と表示されます。
ステップ 2: Macro Deck で ADB を有効にする
設定 > ADB を開き、ADB を有効化 をオンにします。ADB プログラム に 見つかりません と表示される場合は、platform-tools をダウンロード をクリックします。既存の Android SDK や
PATH上のadbは自動で見つかります。別のものを使う場合は 実行ファイルのパス で指定できます。ステップ 3: デバイスで USB デバッグを有効にする
スマートフォンまたはタブレットで 設定 > デバイス情報 を開き、ビルド番号 を 7 回タップして 開発者向けオプション を有効にします。次に 設定 > 開発者向けオプション で USB デバッグ をオンにします。正確な場所はメーカーによって少し異なります。
ステップ 4: デバイスを接続して承認する
USB ケーブルでデバイスを接続し、デバイスの画面に表示される USB デバッグを許可しますか? を承認します。再び確認されないように、このパソコンからの USB デバッグを常に許可する にチェックを入れます。デバイスは 設定 > ADB の デバイス に 準備完了 として表示されます。Wi-Fi で接続する場合は、Wi-Fi で接続 にデバイスの IP アドレスとポートを入力します (例:
192.168.1.20:5555)。ステップ 5: 既定のデバイスを選ぶ
複数のデバイスを接続している場合は、デバイス を空欄にしたときにアクションで使うデバイスの横にある 既定に設定 をクリックします。デバイスが 1 台だけなら、そのデバイスが自動で使われます。
ステップ 6: ボタンに ADB のアクションを追加する
デッキ ページで、デッキのロックが解除されていること (右上のボタンに ロック と表示されていること) を確認し、ボタンをクリックします。エディターが開き、短押し が選択されています。+ アクションを追加 をクリックし、アクションを追加 ダイアログの左側で ADB / Android Debug Bridge を選んでから、デバイスを起動 や アプリを起動 などのアクションを選びます。アプリを起動 の パッケージ などの項目を入力し、既定のデバイスを使う場合は デバイス を空欄のままにします。このカテゴリは、連携が有効な間だけ表示されます。
ステップ 7: ボタンを押す
保存 をクリックし、デッキのボタンを押します。何も起こらない場合は、連携 に デバイスが接続されていません などの通知や、承認が必要なデバイスがないか確認してください。
アクション11
ボタンに設定したり、フローから実行したりできます。
- デバイスを起動
- デバイスのスリープを解除して画面をオンにします。
- スリープ / 画面をロック
- デバイスの画面をオフにします。Android ではこれでデバイスがロックされます。
- アプリを起動
- パッケージ名を指定してアプリを起動するか、前面に表示します。
- アプリを強制終了
- パッケージ名を指定してアプリを強制終了します。
- リンクを開く
- リンクをタップしたときと同じように、デバイスで URI を開きます。
- テキストを入力
- デバイスで現在フォーカスされている入力欄にテキストを入力します。
- キーを送信
- Home、Back、Volume Up、Media Next などの Android キーイベントを 1 つ送信します。
- タップ
- 指定した X 座標と Y 座標で画面をタップします。
- スワイプ
- 指定した時間をかけて、ある点から別の点へ画面をスワイプします。
- デバイスを再起動
- デバイスを通常、リカバリー、ブートローダーのいずれかのモードで再起動します。
- スクリーンショットを撮影
- デバイスの画面をキャプチャして PNG ファイルとしてフォルダーに保存し、必要に応じてそのパスを変数に書き込みます。
トリガー6
ボタンやフローがこれらのイベントに反応できます。
- デバイスが接続されました
- Android デバイスが接続されたか、Macro Deck がそのデバイスを初めて検出しました。
- デバイスの接続が切れました
- Android デバイスが取り外されたか、Macro Deck がそのデバイスを見失いました。
- デバイスが承認されました
- デバイスで承認の確認が許可されました。
- デバイスが未承認になりました
- 以前に承認されたデバイスで、承認の確認をもう一度許可する必要があります。
- デバイスがオンラインになりました
- 承認済みのデバイスに再び接続できるようになりました。
- デバイスがオフラインになりました
- 接続できていたデバイスに接続できなくなりました。
変数11
これらの値をボタンやウィジェットに表示したり、条件に使ったりできます。
adb_connected_device_count- 接続されている Android デバイスの数です。
adb_authorized_device_count- オンラインかつ承認済みのデバイスの数です。
adb_device_connected- 既定のデバイスが接続されているかどうかです。
adb_device_authorized- 既定のデバイスがこのコンピューターを承認しているかどうかです。
adb_device_model- 既定のデバイスのモデルです。
adb_device_manufacturer- 既定のデバイスのメーカーです。
adb_device_battery_level- 既定のデバイスのバッテリー残量 (パーセント) です。
adb_device_screen_on- 既定のデバイスの画面がオンかどうかです。
adb_device_locked- 既定のデバイスにロック画面が表示されているかどうかです。
adb_device_foreground_app- 既定のデバイスで前面にあるアプリのパッケージ名です。
adb_device_<device>_connected,adb_device_<device>_authorized,adb_device_<device>_model,adb_device_<device>_battery_level- 承認済みの各デバイスの接続状態、承認状態、モデル、バッテリー残量です。
<device>は、デバイスのモデル名を英小文字、数字、アンダースコアで表したものです。同じモデルのデバイスが複数ある場合は、_2、_3などが付きます。
よくある質問
Android Studio や Android SDK は必要ですか?
いいえ。Macro Deck に必要なのは Android platform-tools に含まれる adb プログラムだけです。設定 > ADB で platform-tools をダウンロード をクリックすると、Macro Deck が Google の公式パッケージ (約 15 MB) を Macro Deck 専用にダウンロードします。既存のインストールは自動で見つかります。
Wi-Fi でデバイスを操作できますか?
はい。デバイスでワイヤレスデバッグを有効にし、設定 > ADB の Wi-Fi で接続 にデバイスの IP アドレスとポートを入力します。Macro Deck 自体はペア設定を行いません。Android 11 以降では、先にデバイスをこのコンピューターとペア設定するか、USB 接続中に adb tcpip でネットワーク経由のデバッグに切り替えてください。そうしないと、デバイスは接続を拒否します。
デバイスが見つからないというエラーでアクションが失敗するのはなぜですか?
デバイス を空欄にすると、アクションは既定のデバイスを使います。既定のデバイスを選んでおらず、複数のデバイスが接続されている場合は既定のデバイスがないため、アクションでデバイスを選ぶか、設定 > ADB で 既定に設定 をクリックしてください。また、デバイスが 未許可 ではなく 準備完了 と表示されていることも確認してください。
ロック専用のアクションはありますか?
いいえ。Android にはロック専用のコマンドがありません。スリープ / 画面をロック は画面をオフにし、電源ボタンと同じようにデバイスをロックします。
ADB 連携は、ADB を使う他のプログラムに影響しますか?
Macro Deck は通常の ADB サーバーを使うため、Android Studio などのプログラムと共有されます。設定 > ADB の ADB サーバーを再起動 を使うと、それらのプログラムのデバイスも一時的に切断されます。Macro Deck の終了時に ADB サーバーを停止 をオンにしない限り、Macro Deck は終了時にサーバーを動かしたままにします。
デバイスに「このデバイスへのアクセス権がありません」と表示されるのはなぜですか?
コンピューターに、USB でデバイスと通信する権限がありません。Linux では platform-tools の udev ルールをインストールし、Windows ではデバイスのメーカーの USB ドライバーをインストールしてください。