# エミュレータ多重起動を管理するデバイスグループ

> Macro Automation Studio で多重起動した Android エミュレータやクラウドデバイスをグループにまとめ、1 台ごとにマクロ、引数、プロキシを設定して一括で開始します。

Source: https://automationmacro.com/ja/docs/device-groups (デバイス, updated 2026-09-05)

デバイスグループは、Macro Automation Studio (MAS) が複数のデバイスでマクロを実行するための単位です。対象は多重起動した Android エミュレータでも、クラウドデバイスの集まりでも構いません。グループ内の各デバイスは固有のマクロ、引数、プロキシ、Webhook を持ち、グループには **すべて開始** と **すべて停止** があります。このページでは、2 種類のグループ、デバイスごとの設定、一括実行、ログ、スケジュールを扱います。

## 始める前に

- MAS がインストール済みで、有効なトライアルかプランでサインインしていること。
- ローカルグループの場合: ADB をオンにしたエミュレータのインスタンスが 1 つ以上動いていること。ポートの規則は [デバイス](/docs/devices) を参照してください。
- クラウドグループの場合: **クラウドデバイス** ページでクラウドデバイスを 1 台以上作成してあること。[クラウドデバイス](/docs/cloud-devices) を参照してください。アドオンに含まれる内容は [クラウドデバイスのページ](/cloud-devices) で説明しています。

## 2 種類のグループ

グループは 1 種類のデバイスだけを持ち、作成時に選んだ後は固定です:

| 種類 | 種類のオプション | 含むもの | マクロが動く場所 |
|---|---|---|---|
| ローカル (`byod`) | **ローカル** | このコンピューター上のエミュレータと、adb 経由のお手持ちのスマホ | このコンピューター上で、adb でデバイスを操作 |
| クラウド | **クラウド** | MAS が代わりに動かすクラウドデバイス | MAS のサーバー上。アプリは閉じて構いません |

クラウドデバイスはクラウドグループにしか、エミュレータはローカルグループにしか参加できません。混在は「a cloud device can only be added to a cloud group」で拒否されます。

## グループを作成する

1. サイドバーで **デバイスグループ** を開き、**新しいグループを作成** をクリックします。
2. 3 から 255 文字の **名前** と、任意の **説明** を入力します。
3. **種類** を選びます: **ローカル** か **クラウド**。
4. **グループを作成** をクリックします。

グループ一覧には、すべてのグループがデバイス数と実行中デバイスのライブカウント付きで表示されます。グリッドか表の表示を使い、名前、作成日、デバイス数で並べ替え、名前で検索できます。**編集** で名前と説明を変えられますが、種類は変えられません。

## デバイスを追加する

<div class="doc-tabs" data-tabs="kind">
<section data-tab="ローカルグループ">

1. グループを開き、**デバイスを追加** をクリックします。
2. **デバイス名** を入力します。
3. **ポート** でエミュレータのポートを選びます。再スキャンするには **更新** をクリックし、または **カスタムポート** を選んで入力します。
4. 必要なら **起動時マクロ** を選びます。
5. **デバイスを追加** をクリックします。

</section>
<section data-tab="クラウドグループ">

1. グループを開き、**クラウドデバイスを追加** をクリックします。
2. 一覧からデバイスを選びます。すでにこのグループにあるデバイスは表示されません。
3. **追加** をクリックします。

クラウドデバイスはここではなく **クラウドデバイス** ページで作成します。一覧が空なら、ダイアログがそこへのリンクを示します。

</section>
</div>

### BlueStacks、LDPlayer、その他の多重起動 Android エミュレータ

エミュレータのインスタンスはそれぞれ固有の adb ポートで待ち受け、MAS はすべてのポートを別々のデバイスとして扱います。したがって、BlueStacks のウィンドウ 3 つや LDPlayer のインスタンス 3 つは、グループ内で固有のマクロと引数を持つ 3 台のデバイスになります。[BlueStacks](/docs/bluestacks-setup-guide)、[LDPlayer](/docs/ldplayer-setup-guide)、[MuMu Player](/docs/mumu-setup-guide)、[MEmu](/docs/memu-setup-guide) のガイドで各インスタンスのポートの場所を示し、[多重起動ガイド](/docs/guides/multi-instance) で完全な構成を順に説明しています。

> [!TIP]
> エミュレータのインスタンス名と一致するデバイス名を付けてください。ログ、実行履歴、Webhook のペイロードにはすべてデバイス名が入るので、「LD-3」の方が「Device 7」より追いやすくなります。

## 各デバイスを設定する

すべてのデバイスカードに同じコントロールがあります:

- **マクロ**: このデバイスが実行するマクロを選びます。マクロのないデバイスは **すべて開始** で飛ばされます。
- **マクロ設定**: このデバイス向けにマクロの引数フォームを開きます。上部の **プロファイル** バーが値の保存先を決めます: それに従うすべてのデバイスで共有される名前付きの [設定プロファイル](/docs/settings-profiles) か、**カスタム (このデバイスのみ)** です。プロファイルを保存すると、それを使うすべてのデバイスが更新され、バーに台数が表示されます。すべてのマクロには削除できない **Default** プロファイルがあります。**新規** は現在の値を新しいプロファイルとして保存します。
- **実行回数**: このデバイスでマクロを繰り返す回数。
- **詳細設定**: **プロキシ** の選択、このデバイスについて通知される Webhook の数と **管理** リンクを示す **通知** 行、そして **今日のプロキシデータ**。
- **デバイスを編集** は名前とポートを変え、ゴミ箱ボタンはデバイスをグループから外します。

マクロや実行回数を編集したら **変更を保存** をクリックします。プロキシとプロファイルの選択は自動で保存されます。

### デバイスごとのプロキシ

**プロキシ** ドロップダウンでプロキシを選びます。**プロキシなし** で解除します。デバイスごとに 1 つのプロキシで、既定はスティッキーなので各デバイスが固有の IP を保ちます。エミュレータでは各実行の間だけ適用され、クラウドデバイスではデバイスの次回開始時に適用されます。詳細、制限、Webhook 内の出口 IP は [プロキシ](/docs/proxies) ページにあります。

### デバイスごとの Webhook

Webhook のエンドポイントは、**Webhook** ページで、すべてのデバイス、選んだグループ、または選んだデバイスを対象にします。デバイスカードは、このデバイスを対象とするエンドポイントの数を示すだけです。対象の変更は Webhook ページで行います。実行イベントには `device_id`、`device_name`、`device_port`、`group_id` が入るので、1 つのエンドポイントでデバイスを見分けられます。[Webhook](/docs/webhooks) を参照してください。

## 開始と停止

カードの **開始** はそのデバイスだけを実行します。ローカルデバイスでは MAS が adb で接続してマクロを起動し、クラウドデバイスではサーバー側の実行を始めます。

**すべて開始** はグループ全体を実行します:

- デバイスは一覧の順に、0.5 秒間隔で順番に開始します。
- マクロが割り当てられていないデバイスは飛ばされて失敗として数えられ、他のデバイスは開始します。
- 結果は件数で表示されます (例: 9 件成功、1 件失敗)。トーストには最大 5 件のエラーメッセージが入ります。**すべてのデバイスを開始中** ダイアログには進行状況と操作ログが表示されます。
- クラウドグループでは、**すべて開始** はデバイスごとにサーバー側の実行を順番に起動します。プランの実行中デバイス数の上限はそのまま適用されるので、開始できないデバイスは自分のトーストでそう伝えます。

**すべて停止** はグループ内のすべての実行を同じ方法で終えます。クラウドの実行を停止しても、クラウドデバイスは起動したままです。

各カードには状態が表示されます: **Stopped**、**Connecting**、**Downloading**、**Starting**、**Running**、**Stopping**、または **Error**。グループのヘッダーはそれらをライブ、アイドル、エラーの件数にまとめます。

## デバイスごとのログ

すべてのカードには、マクロにランタイム UI がある場合にそれを表示する **ダッシュボード** タブと、そのデバイス自身の出力を表示する **ログ** タブがあります:

- **すべて**、**ユーザー**、**実行**、**エラー**、**警告** で絞り込みます。ユーザー行はスクリプト自身の `print` と `mas.log` の出力で、実行行はランナーからのものです。
- **ログを検索** はテキストで絞り込み、**追従** は最新行を表示し続け、**時刻** はタイムスタンプを切り替えます。
- **保存** はログをファイルに書き出し、**クリア** はペインを空にします。

プロキシと Webhook のイベントも同じペインに表示されます (例: 「Proxy connected via office, traffic routed through 203.0.113.9」)。クラウドデバイスのペインには、サーバー側の実行の出力の末尾が表示されます。終了した実行は、終了コードと所要時間とともに **実行履歴** に一覧されます。

## グループをスケジュールする

[スケジューラー](/docs/scheduler) は、デバイスから選んだ 1 つのポートで、設定した時刻に 1 つのマクロを実行します。グループ全体をスケジュールするには、同じ時刻と繰り返しでデバイスごとに 1 つのジョブを作ります。グループに属するデバイスでのスケジュール実行にはそのグループの ID が付くので、グループを対象とする Webhook もそれらに対して発火します。

## API キー向けのグループとデバイスのルート

[API キー](/docs/api-keys) でグループとデバイスを読み取れます: `GET /api/emulator/groups` と `GET /api/emulator/devices`。どちらもキーの所有者が持つものだけを返し、デバイスの行にはポート、マクロ、グループ、設定プロファイルが含まれます。グループやデバイスの作成、編集、削除、および開始や停止には、アプリ自身のサインインが必要です。[REST API](/docs/rest-api) を参照してください。

## トラブルシューティング

### すべて開始が失敗したデバイスを報告する

トーストか操作ログを開きます。「device X has no macro assigned」は、カードで **マクロ** が選ばれていないことを意味します。接続できないローカルデバイスは adb のエラーで失敗します。[ADB トラブルシューティング](/docs/adb-troubleshooting) に従ってください。開始できたデバイスはそのまま動き続けます。

### クラウドデバイスがグループに参加できない

そのグループはローカルグループです。**種類** を **クラウド** にしてグループを作り、そこにデバイスを追加してください。同じ規則により、エミュレータはクラウドグループに参加できません。

### 2 つのインスタンスが同じポートを表示する

各ポートは 1 台のデバイスに属します。2 つのエミュレータウィンドウが同じポートを報告する場合、片方は ADB がオフか、完全に起動していません。2 つ目のインスタンスの起動完了を待ち、ポート一覧で **更新** をクリックし、固有のポートで追加してください。
