デバイス
クラウド Android エミュレータ: 作成、配信、マクロ実行
Macro Automation Studio でクラウド Android デバイスを作成し、WebRTC で画面を見ながら APK をインストールし、PC を切ったままサーバー側でマクロを実行し、止まったデバイスを直します。
- Windows
- Mac
- クラウド端末
- Studio
- API
- MCP
このページの内容
クラウドデバイスは、Macro Automation Studio (MAS) が自社の GPU ホスト上であなたの代わりに動かす Android デバイス、いわばクラウド Android エミュレータです。アプリ内ではローカルのエミュレータと並んで表示され、画面を WebRTC で配信し、マクロをサーバー側で実行するので、あなたのコンピューターは切っていて構いません。このページでは、作成、状態、アプリ、実行、制限を扱います。
始める前に
- MAS がインストール済みで、サインインしていること。MAS のインストール を参照してください。
- プランにクラウドデバイスが 1 台以上含まれていること。クラウドデバイスは有料プランのアドオンです。お支払い を参照してください。
- 実行する場合: ライブラリに Python マクロがあること。実行ダイアログには Python マクロだけが表示されます。
クラウド Android デバイスとは
各クラウドデバイスは、MAS のデータセンター内でサーバー GPU によって描画される、完全な Android デバイスです。開始と停止には実際に時間がかかります: 新規起動で約 48 秒、再開で 17 秒、停止で 9 秒です。画面は映像とあなたのタップを運ぶ WebRTC ストリームとして届き、同時に 1 人の閲覧者が保持します。別の場所で開かれているとき、カードには目のアイコンと ライブ閲覧中 が表示されます。マクロはデバイスの隣の MAS サーバーで動くため、アプリを閉じても実行は終わりません。インストールしたアプリとサインイン済みのアカウントは停止後も残り、削除 だけがそれらを消します。
クラウドデバイスを作成する
- サイドバーで クラウドデバイス を開きます。
- デバイス名 を入力します。
- Android のバージョンを選びます。一覧はサーバーから来ます。既定は Android 15 です。
- 解像度 を選びます: Light (540 x 960)、Standard (720 x 1280)、Sharp (1080 x 1920)。Sharp は約 2 倍のピクセルを配信し、より多くの帯域を必要とします。
- DPI を選ぶか、プリセット自体の密度である Default のままにします。許可される値は 160、240、320、480 です。
- 必要なら Google Play ストアを含める にチェックを入れます (下記参照)。
- 作成 をクリックします。
デバイスは Stopped として表示されます。作成しても開始はされません。バージョン、解像度、DPI は作成後に固定されるので、別の構成にしたければ新しいデバイスを作ります。ページのヘッダーはプランに対する Running と Allocated のデバイス数を示し、1 アカウントあたり最大 20 台のクラウドデバイスを保持できます。
クラウド Android スマホでの Google Play
Google アプリはデバイスごとのオプトインです。デバイスの作成時に Google Play ストアを含める にチェックを入れるか、既存のデバイスで Google Play を追加 をクリックします。デバイスは約 15 秒で 1 度再起動し、データは保持されます。すべてに Google Play を追加 は、まだ入っていないすべてのデバイスを対象にします。
初回には MAS が Google アプリのインストール に関する免責事項を表示し、アカウントごとに 1 度承諾します。要点は次のとおりです: デバイスは MindTheGapps をインストールします。これは LineageOS の開発者が保守する独立したオープンソースのパッケージで、Google Play ストア、Google Play 開発者サービス、Google Services Framework を含みます。MAS は Google と提携しておらず、Google に承認もライセンスもされていません。MAS も MindTheGapps プロジェクトも Google のアプリケーションに対するライセンスをあなたに付与するものではなく、Google アプリと Google アカウントの利用には Google 自身の利用規約が適用されます。この仮想デバイスは Play プロテクト認定を受けていないため、デバイスの完全性を検証するアプリは動きません: 銀行や決済のアプリ、Google ウォレット、HD や DRM のストリーミング、一部のゲームです。Google アプリのインストールと利用はご自身の責任で行ってください。
Google Play 入りのデバイスには Play バッジが表示されます。インストールに失敗すると、カードに 再試行 が表示されます。
デバイスの状態
| 状態 | 意味 |
|---|---|
| Stopped | 割り当て済み、停止中、データは保持。実行中には数えません。 |
| Placing | MAS が空きのあるホストを探しているか、新しいホストをプロビジョニング中 (約 15 分)。 |
| Starting | Android が起動中: 通常、初回起動は 1:30 未満、再開は 0:20 未満。 |
| Ready | 実行中。閲覧、アプリのインストール、マクロの実行ができます。 |
| Stopping | シャットダウン中、通常 0:10 未満。 |
| Error | 何かが失敗。カードに理由が表示され、開始 で再試行します。 |
すべての遷移は非同期で、デバイスが移行中はカードに経過時間が表示されます。
開始、停止、削除
- 開始 はデバイスを起動します。プランの実行スロットがすべて使用中のときは、「2 of 2 running, stop one to start another」のようなメッセージで失敗します。
- 停止 はディスクを保持したまま、実行スロットとホストの GPU と RAM を解放します。開始 で再開します。
- 削除 はデバイスとその上のすべてを破棄します: インストールしたアプリ、ログイン済みのアカウント、ゲームの進行状況。ダイアログが先にそう伝えます。
実行中のデバイスにアクティブな実行がない場合、60 分後に自動で停止します。データは保持され、開始 で数秒で再開します。実行中のマクロはデバイスを起動したままにします。
ライブ画面を見る
Ready 状態のデバイスで 表示 をクリックします。Negotiating stream は WebRTC 接続の確立中を意味します。ライブになると、クリック、ドラッグ、キー入力がそのままデバイスに届き、ヘッダーに 全画面、戻る、ホーム、閉じる が表示されます。ビューアーを閉じると、別のウィンドウのためにストリームが解放されます。デバイスグループ では、クラウドデバイスのカードに ライブで見る があり、同じビューアーをカードの横にドッキングします。
アプリをインストールする
Ready 状態のデバイスで APK をインストール をクリックします。選択画面には 3 つの経路があります:
- ファイルをアップロード (.apk / .xapk): 1 GiB までの
.apk、.xapk、.apkm、.apksファイル。MAS が検査し、デバイスのホストにアップロードしてそこでインストールします。コンテナ形式は展開され、32 ビットと x86 の分割は除かれ、拡張ファイルは配置され、残りが 1 つのバンドルとしてインストールされます。arm64 ビルドのないパッケージはアップロード前に拒否されます。クラウドデバイスは 64 ビット ARM 専用です。 - ダウンロードするアプリを検索: アプリ名を入力するか、リンクやパッケージ ID を貼り付けて インストール をクリックします。MAS がこのコンピューターにアプリをダウンロードし、同じ方法でインストールします。
- インストール済みアプリを管理: デバイス上にあるものを確認し、カタログに新しいビルドがあれば 更新 し、ゴミ箱ボタン (確認のため 2 回クリック) でアンインストールします。ヘッダーにはデバイスの上限に対して使用中のアプリスロットが表示されます。
進行状況はカードに表示されます: Checking app、Uploading app、Installing app。失敗時には adb の INSTALL_FAILED コードを含む理由がそのまま表示されます。
クラウドデバイスでマクロを 24 時間 365 日実行する
- デバイスを開始し、Ready を待ちます。
- カードの 実行 をクリックし、Python マクロを選びます。
- 実行行を追います: 起動中、経過時間付きの実行中、完了、または失敗。実行を停止 は実行を終え、デバイスは起動したままにします。
実行が始まる前に、MAS はコードを同期します: マクロのプロジェクトフォルダーをハッシュし、ツリーが変わったときだけスナップショットをアップロードします。スナップショットは最大 500 ファイル、zip で 10 MiB までです。.git や .venv などのドットフォルダー、__pycache__、node_modules、venv、.pyc ファイルは除外されます。上限を超えるプロジェクトは実行前に理由付きで失敗します (例: 「project has more than 500 files」)。クラウドが実行するのはこのスナップショットなので、Code Editor の作業ツリーがコミットやプッシュなしに実行されます。Git プロジェクトとコード同期 を参照してください。
クラウドの デバイスグループ から始めた実行は、デバイスのマクロとその引数または設定プロファイルを使い、スクリプトの出力をカードに表示します。すべての実行は状態とともに 実行履歴 に記録されます。
クラウドデバイスのグループとプロキシ
デバイスグループは 1 種類のデバイスだけを持ちます。種類 を クラウド にしてグループを作り、クラウドデバイスを追加 をクリックして割り当て済みのデバイスを選びます。クラウドデバイスはクラウドグループにしか参加できません。グループ内の各デバイスは固有のマクロ、引数または設定プロファイル、プロキシ、Webhook を持ち、すべて開始 はデバイスごとにサーバー側の実行を順番に起動します。デバイスグループ を参照してください。
クラウドデバイスに付けたプロキシは、デバイスの次回開始時にデバイスのネットワーク内で適用され、すべてのトラフィックがプロキシを通って出て、カードに出口 IP が表示されます。プロキシ を参照してください。
REST API と MCP
API キー があれば、サーバー側の実行を開始して監視できます: macro_id と任意の args を付けた POST /api/hosted/devices/{id}/run、POST /api/hosted/runs/{id}/stop、GET /api/hosted/runs/{id}、そしてコードを同期する GET /api/macros/{id}/code-state と POST /api/macros/{id}/code-snapshot。デバイスのライフサイクル、ストリーミング、アプリのインストールにはアプリ自身のサインインが必要です。REST API を参照してください。MAS MCP サーバー は、クラウドデバイスを MCP クライアントに公開します。
費用
クラウドデバイスは任意の有料プランへのアドオンで、デバイス 1 台あたり月額の料金で、MAS Agent 用の月間 AI クレジットが含まれます。デバイスの追加や削除はサイクルの途中でもでき、変更は日割りで、更新日は変わりません。料金ページ と お支払い を参照してください。
トラブルシューティング
デバイスが Placing や Starting で止まる
Placing は、まだ空きのあるホストがないことを意味します。MAS が新しいホストをプロビジョニングし (約 15 分)、デバイスは自動で先に進みます。45 分以内に何も空かなければ、デバイスは「no capacity became available」で Error になり、開始 で再試行します。初回起動は通常 1:30 未満、再開は 0:20 未満で終わります。経過時間がそれを大きく超えたら、停止 をクリックし、Stopped を待ってから、もう一度 開始 します。これでデバイスが現行のホストに移り、「this device’s host does not support APK installs yet」も解消します。
ストリームが接続しない
- デバイスは Ready でなければなりません。停止中のデバイスは「The device must be running before you can view it」と答えます。
- Negotiating stream で止まる: ストリームのチケットは短命なので、ビューアーを閉じてもう一度 表示 をクリックするか、表示されたら 再接続 をクリックします。
- 別の場所で開いている: ストリームは 1 人の閲覧者が保持します。もう一方のウィンドウか MAS インスタンスで閉じてください。
- WebRTC をブロックするネットワークでは映像が表示されません。別のネットワークを試してから、Discord で質問してください。
アプリのインストールに失敗する
- 「this package has no arm64-v8a build」: アプリが 32 ビットか x86 のコードしか含んでいません。arm64 版を入手してください。
- 「not a valid APK」: ファイルが Android パッケージではないか、壊れています。
- 「the limit is 1024MB」: パッケージが 1 GiB を超えています。
- 「INSTALL_FAILED_MISSING_SPLIT」: バンドルが不完全です。完全な XAPK をダウンロードしてインストールしてください。
- 「install timed out」: ホストが高負荷です。数分後に再試行してください。
次のステップ
関連ページ
ありがとうございます。誤りがあればDiscordでお知らせください。
質問がありますか? Discordで質問する