Android CLI は、任意のツールを使用して Android 向けに簡単に効率よくビルドできるコマンドライン インターフェースです。エージェント ファーストのワークフローのコア開発コンピテンシーを標準化し、より効果的に開発するために必要な公式ツール、スキル、知識へのエントリ ポイントを提供します。また、Android 開発の分散化が進む中で、CI、メンテナンス、その他のスクリプト化された自動化を効率化することもできます。
たとえば、エージェントやスクリプトは CLI を使用して、環境設定の自動化、テンプレートからの新しいプロジェクトの作成、ターミナルからの仮想デバイスの直接管理を行うことができます。また、エージェントは Android スキルと特殊な Android ナレッジベースにアクセスして、プロジェクトで Android 推奨パターンとベスト プラクティスが適用されるようにすることもできます。
Android CLI をインストールする
Android CLI をインストールする手順は次のとおりです。
最新バージョンを使用していることを確認するには、Android CLI を更新します。
android update
Android CLI がマシンにすでにインストールされているかどうかを確認するには、which android または command -v android を実行します。パスが返された場合は、インストールされています。
エージェント向けに設定する
エージェントが Android CLI を理解して使用できるようにするには、init を実行して android-cli スキルをインストールします。
android init
既知の問題
- Windows の
android emulatorコマンドは現在無効になっています。
グローバル オプション
これらは、他の Android CLI コマンドで使用できるオプションのフラグです。
-h, --help
使用方法: android <command> -h
説明: 問題のツールまたは特定のコマンドのヘルプ マニュアルを表示します。
例:
android -handroid create -h
--sdk
使用方法: android --sdk=<path-to-sdk> <command>
説明: 後続のコマンドで使用する Android SDK へのパス。--sdk 設定を使用すると、切り替えるたびにグローバル環境変数を変更する代わりに、デフォルトの Android SDK を一時的にオーバーライドできます。デフォルトで使用している Android SDK を確認するには、android info を実行します。
例: android --sdk=<path/to/sdk> sdk list
コマンド
このセクションでは、すべての Android CLI コマンドを一覧表示し、その機能について説明します。これらのコマンドはすべて android で始まる必要があります(例: android create、android run など)。省略可能な修飾子は角かっこ [] で囲み、必須の引数は囲みません。
create
使用方法: android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]
説明: テンプレートから新しいプロジェクトを初期化します。テンプレート オプションを表示するには、android create -h を実行します。
引数(必須):
-o, --output- 宛先プロジェクト ディレクトリのパス。
オプション:
--dry-run- 実際にファイルを保存せずに、プロジェクト作成プロセス全体をシミュレートします。たとえば、ドライランを実行して、さまざまなテンプレートの動作を確認してから、1 つのテンプレートを commit できます。--verbose- テンプレートからコピーされるファイルなどの情報を含む詳細な出力を有効にします。--name=<application-name>- プロジェクト ディレクトリの名前。省略すると、出力ディレクトリが使用されます。<template-name>- 新しいプロジェクトの作成元となるテンプレートの名前。省略した場合、empty-activity-agp-9が使用されます。
例: android create --dry-run --verbose empty-activity-agp-9
create list
使用方法: android create list
説明: 新しいプロジェクトの作成に使用できるすべてのテンプレートを一覧表示します。
describe
使用方法: android describe [--project_dir=<project-directory>]
説明: Android プロジェクトを分析して、説明的なメタデータを生成します。このコマンドは、ビルド ターゲットとそれに対応する出力アーティファクトの場所(APK ファイルなど)を含む、プロジェクトの構造を詳細に記述した JSON ファイルのパスを特定して出力します。この情報により、他のツールやコマンドはビルド アーティファクトを効率的に見つけることができます。
オプション:
--project_dir- 説明するプロジェクト ディレクトリ。省略すると、現在のディレクトリが使用されます。
例: android describe --project_dir=/path/to/your/project
docs
使用方法:
android docs search <query>android docs fetch <kb-url>
説明: android docs コマンドは、CLI から Android ナレッジベースに直接アクセスするための 2 段階のプロセスです。まず、search コマンドを使用して、クエリに関連するドキュメントを検索します。検索結果には kb:// で始まる特別な URL が含まれます。この URL を fetch コマンドで使用して、ドキュメント コマンドをターミナルに出力できます。
例:
android docs search 'How do I improve my app performance?'android docs fetch kb://android/topic/performance/overview
emulator create
使用方法: android emulator create [--list-profiles] [--profile=<profile-name>]
説明: 仮想デバイスを作成します。
オプション:
--list-profiles- デバイスの作成に使用できるデバイス プロファイルを一覧表示します。--profile=<profile-name>- 指定されたプロファイルでデバイスを作成します。省略すると、medium_phoneプロファイルが作成されます。
emulator list
使用方法: android emulator list
説明: 使用可能な仮想デバイスのリストを取得します。
emulator start
使用方法: android emulator start <device-name>
説明: 指定された仮想デバイスを起動します。
引数(必須):
<device-name>- 起動するデバイス名(例:medium_phone)。利用可能なデバイスを確認するには、android emulator listを使用します。
例: android emulator start medium_phone
emulator stop
使用方法: android emulator stop <device-serial-number>
説明: 指定された仮想デバイスを停止します。
引数(必須):
<device-serial-number>- 停止するデバイスのシリアル番号。
例: android emulator stop emulator-5554
info
使用方法: android info
説明: 使用されているデフォルトの Android SDK のパスを表示します。使用する Android SDK を変更するには、--sdk を使用します。
init
使用方法: android init
説明: android-cli スキルをインストールして、エージェントの環境を設定します。
layout
使用方法: android layout [--pretty] [--output] [--diff]
説明: アクティブな Android アプリ(実機またはエミュレータ経由で接続)の UI レイアウトを JSON 形式で返します。
オプション:
-p, --pretty- 人間が読みやすいように、インデントと改行を使用して JSON 出力をフォーマットします。-o, --output- レイアウト ツリーを保存するファイルの場所を指定します。省略すると、JSON は stdout に直接出力されます。-d, --diff- レイアウト ツリー全体ではなく、前回の内部スナップショットの取得以降(レイアウトが最後に実行されたとき)に変更されたレイアウト要素のみのリストを返します。
例: android layout --output=./hierarchy.json
skills add
Android スキルは、Android 開発に関するベスト プラクティスとガイダンスに沿った特定のパターンをエージェントがよりよく理解し、実行できるように設計された特別な手順です。詳しくは、Android スキルの概要をご覧ください。
使用方法: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]
説明: 検出されたすべてのエージェントのスキル ディレクトリに Android スキルをインストールします。既存のエージェント ディレクトリがなく、特定のエージェントを指定しない場合、スキルは ~/.gemini/antigravity/skills の Gemini と Antigravity にインストールされます。
オプション:
--all- すべての Android スキルを一度に追加します。省略した場合(--skillが指定されていない場合)、android-cliスキルのみがインストールされます。--agent- スキルをインストールするエージェントのカンマ区切りのリスト。省略すると、検出されたすべてのエージェントにスキルがインストールされます。--skill- インストールするスキルの名前。省略した場合(--allが指定されていない場合)、android-cliスキルのみがインストールされます。
例: android skills add --agent='gemini' edge-to-edge
skills find
使用方法: android skills find <string>
説明: 特定の文字列に一致するスキルを検索します。
引数(必須):
string- スキルの説明と一致する文字列。
例: android skills find 'performance'
skills list
使用方法: android skills list [--long]
説明: 利用可能なスキルを一覧表示します。
オプション:
--long- スキルの説明や、すでにインストールされているエージェントなど、各スキルに関する追加情報を出力します。
skills remove
使用方法: android skills remove [--agent] --skill=<skill-name>
説明: スキルを削除します。特定のエージェントを指定しない場合、すべてのエージェントのスキルが削除されます。
引数(必須):
--skill- 削除するスキルの名前。
オプション:
--agent- スキルを削除するエージェントのカンマ区切りのリスト。省略すると、すべてのエージェントのスキルが削除されます。
例: android skills remove --agent='gemini' --skill=edge-to-edge
screen capture
使用方法: android screen capture [--output] [--annotate]
説明: 接続されたデバイスのスクリーンショットをキャプチャします。
オプション:
-o, --output- スクリーンショットを保存するファイルの場所を指定します。省略すると、未加工の PNG データが stdout に直接出力されます。-a, --annotate-resolveコマンドで使用するために、画像内で検出されたすべての UI 要素の周りにラベル付きの境界ボックスを描画します。
例: android screen capture --output=ui.png
screen resolve
使用方法: android screen resolve --screenshot=<path> --string=<string>
説明: screen capture を使用してキャプチャされたアノテーション付きスクリーンショットの視覚ラベルを、実際の画面座標(x、y)に変換します。要素の位置を手動で計算しなくても、要素のクリックをスクリプト化する場合に便利です。
フラグ:
--screenshot- 注釈付きスクリーンショットのパス。--string-#<number>形式の UI 要素ラベルに対応するプレースホルダを 1 つ以上含む文字列。#<number>の部分は、画面座標に置き換えられます。
例:
ラベル 5 が座標(500, 1000)にある場合、コマンド
android screen resolve --screenshot=ui.png --string="input tap #5"
出力を返します
input tap 500 1000
sdk install
使用方法: android sdk install <package[@version]> [--beta] [--canary] [--force]
説明: 指定された SDK パッケージをインストールします。
引数(必須):
package[@version]- インストールするパッケージのスペース区切りリスト。バージョンが指定されていない場合は、チャンネル(デフォルトでは安定版チャンネル)の最新バージョンのパッケージがインストールされます。
オプション:
--beta- ベータ版パッケージを含めます。--canary- カナリア パッケージを含めます。--force- 古いバージョンへのダウングレードを強制します。
例:
android sdk install platforms/android-34 build-tools/34.0.0- 安定版チャンネルから Android SDK Platform 34 と SDK Built Tools 34.0.0 パッケージの最新バージョンをインストールします。android sdk install platforms/android-34@2- Android SDK Platform 34 パッケージのバージョン 2 をインストールします。android sdk install --canary system-images/android-35/google_apis/x86_6- カナリア チャンネルから Android 35 システム イメージの最新バージョンをインストールします。android sdk install --force platforms/android-33@1- 安定版チャンネルの Android SDK Platform 33 パッケージのバージョン 1 に戻します。
sdk list
使用方法: android sdk list <package-pattern>
説明: インストール済みで利用可能な SDK パッケージのリストを表示します。
引数(必須):
<package-pattern>- パターンでパッケージをフィルタします。正規表現をサポートします。
オプション:
--all- インストール済みで利用可能なパッケージをすべて表示します。--all-versions- 各パッケージのすべてのバージョンを表示します。--beta- ベータ版パッケージを含めます。--canary- カナリア パッケージを含めます。
sdk remove
使用方法: android sdk remove <package-name>
説明: SDK からパッケージを削除します。
引数(必須):
<package-name>- 削除するパッケージの名前。
例: android sdk remove build-tools/36.1.0
run
使用方法: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>
説明: 接続されているデバイスまたはエミュレータに Android アプリをデプロイします。ビルドステップは実行されません。インストールする APK ファイルのパスを指定する必要があります。
引数(必須):
--apks- インストールする APK ファイルのパスのカンマ区切りのリスト。パスは、ファイル システム内の現在の場所を基準とする相対パスです。
オプション:
--activity- APK のインストール後に起動するアクティビティの名前。複数のアクティビティがある場合は、最初に起動するアクティビティを 1 つ指定する必要があります。--debug- デバッグモードでアプリをデプロイします。デバッグモードでアプリを実行したら、Android Studio などの IDE またはコマンドライン ツールからデバッガを接続して、デバッグを開始する必要があります。--device- 対象デバイスまたはエミュレータのシリアル番号。複数のデバイスが接続されている場合のみ必要です。デバイスのシリアル番号を確認するには、adb devicesを実行します。--type- 起動するコンポーネント タイプ。UI アクティビティではなく、バックグラウンド サービスを直接開始する場合に使用します。サポートされているタイプ:ACTIVITYWATCH_FACETILECOMPLICATIONDECLARATIVE_WATCH_FACE
例:
android run --apks=app/build/outputs/apk/debug/app-debug.apk- 単一の APK をデフォルトのデバイスにデプロイします。android run --apks=base.apk,density-hdpi.apk,lang-en.apk- 複数の APK をデフォルトのデバイスにデプロイします。android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService- アクティビティなしでサービスをテストします。android run --apks=app-debug.apk --device=emulator-5554- 特定のデバイスに APK をデプロイします。
sdk update
使用方法: android sdk update [--beta] [--canary] [<package-name>]
説明: チャンネル(デフォルトは安定版チャンネル)の 1 つまたはすべてのパッケージを最新バージョンに更新します。パッケージを指定しない場合、すべてのパッケージが更新されます。
オプション:
<package-name>- 更新するパッケージの名前。--beta- ベータ版パッケージを含めます。--canary- カナリア パッケージを含めます。--force- 古いバージョンへのダウングレードを強制します。
例:
android sdk update- SDK のすべての更新を確認してインストールします。android sdk update build-tools/34.0.0- Android SDK Build Tools 34.0.0 パッケージを安定版チャンネルの最新バージョンに更新。android sdk update --canary platforms/android-35- Android SDK プラットフォーム 35 パッケージをカナリア チャンネルの最新バージョンに更新します。
update
使用方法: android update
説明: Android CLI を更新します。
-V, --version
説明: Android CLI の現在のバージョンを表示します。