argent-android-emulator-setup について
argent-android-emulator-setup は、利用可能な Android デバイスの確認、必要に応じた AVD の起動、共通の操作ツールへの引き渡しを案内するスキルです。Android TV のフォーカス操作や、エミュレーターの復旧時の注意点も説明します。
主な機能
- 01準備済み Android デバイスの検出
- 02必要に応じた AVD の起動
- 03React Native と Metro の接続
- 04Android TV のフォーカス操作の識別
- 05エミュレーター終了と復旧の注意
活用シーン
- 01アプリテスト用 Android エミュレーターの準備
- 02デバイスと React Native Metro の接続
- 03Android TV エミュレーターの操作
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ software-mansion/ argent --skill argent-android-emulator-setupインストール後、Claude Code で/argent-android-emulator-setupを入力して読み込まれたか確認します。
詳細
1. 前提条件
- PATH に Android SDK Platform Tools が必要です。
adbが含まれています。 - PATH に Android Emulator が必要です。AVD の起動に使用します。すでに起動中のエミュレーターまたは物理デバイスだけを使用する場合は、adb だけで十分です。
- Android Studio または
avdmanager create avdで作成した AVD が必要です。
adb version と emulator -list-avds で確認してください。
2. セットアップ
- 準備済みのデバイスを見つける:
list-devicesを呼び出します。platform: "android"のエントリーに絞り込みます。準備済みのデバイス(state: "device")が先に表示されます。ユーザーが指定していない限り、最初のserial(例:emulator-5554)を選択します。 - 必要に応じて起動する:Android デバイスが準備できていない場合は、同じ呼び出しの
avdsリストから取得したavdName: <name>を指定してboot-deviceを呼び出します。ツールがホットブートとコールドブートを自動で選択します。AVD のdefault_bootスナップショットを調べ、使用可能であれば厳しい制限時間内に復元し、そうでなければ完全なコールドブートに切り替えます。ホットブートは通常約 30 秒、コールドブートは 2~10 分かかります。いずれかの段階で失敗すると、ツールは起動したエミュレータープロセスを終了するため、次の呼び出しはクリーンな状態から始まります。 - Metro(React Native の場合):デバイスの起動後、
adb -s <serial> reverse tcp:8081 tcp:8081を実行し、デバイスからホスト上の Metro に接続できるようにします。デバイスを再起動した場合は、再度実行してください。
3. デバイスの使用
Android のシリアルを udid として、統合されたインタラクションツール(gesture-tap、gesture-swipe、describe、screenshot、launch-app、keyboard など)に渡します。ID の形式に基づいて自動的に振り分けられます。プラットフォームに依存しないインタラクションツールと、スキルの末尾にある Android 固有の注意事項については、argent-device-interact を参照してください。
4. 注意事項
- Android TV/leanback AVD も同じフロー(
boot-deviceとavdName)で起動しますが、タッチ操作ではなくフォーカス操作を使用します。これらのデバイスではgesture-tap/gesture-swipeを使用しないでください。list-devicesは leanback デバイスにruntimeKind: "tv"のタグを付けます(シリアルではなくシステムの機能リストから判定します。TV AVD のシリアルはスマートフォンのものと同じように見えます)。runtimeKind: "tv"の場合は、フォーカス操作用ツール(describe/tv-remote/keyboard)とargent-tv-interactスキルを使用してください。このスキルでは、Apple TV を含む Android TV の操作と、TV のセットアップ全体を説明しています。 - シリアルは adb のデバイス ID です。iOS の UDID と Android のシリアルは互換性がありませんが、使用するプラットフォームをツールに伝える必要はありません。自動的に振り分けられます。
- Android の
describeが返すツリーは iOS より浅く(アクセシビリティサービスに相当するものがないため)、タップ対象の特定には十分対応しています。 - Android の
reinstall-appは常に-gを付けてインストールするため、初回起動時のランタイム権限は事前に許可されます。 - エミュレーターを停止するには、シェルで
adb -s <serial> emu killを実行します(正常にシャットダウンします)。qemu に対してpkill -9/kill -9を実行してはいけません。強制終了するとユーザーデータイメージが不整合になり、その後のコールドブートで復旧に何分もかかることがあります(書き込みが止まらず、boot_completedが切り替わりません)。イメージがこの状態になった場合は、-wipe-dataを指定して一度起動し、リセットしてください。
コメント
Markdown 対応