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コマンドは無効になっています。 - 現在、Windows PowerShell から Android CLI をダウンロードすることはできません。
問題が発生した場合やフィードバックがある場合は、 バグを報告してください。
Android CLI を構成する
Android CLI を呼び出すたびにフラグとオプションを自動的に適用するには、.androidrc ファイルを作成します。オペレーティング システムに応じて、次の場所にファイルを保存します。
- macOS と Linux:
~/.androidrc - Windows:
%USERPROFILE%\.androidrc
自動的に適用するフラグをファイルに追加します(1 行に 1 つずつ)。
たとえば、Android CLI で常に特定の Android SDK をデフォルトで使用するようにするには
、ファイルに --sdk フラグを追加します。
--sdk=<path-to-sdk>
グローバル オプション
これらは、他の Android CLI コマンドで使用できる省略可能なフラグです。
-h, --help
使用方法: android <command> -h
説明: ツールまたは特定のコマンドのヘルプ マニュアルを表示します。
例:
android -handroid create -h
--sdk
使用方法: android --sdk=<path-to-sdk> <command>
説明: 後続のコマンドで使用する Android SDK のパス。--sdk 設定を使用すると、切り替えるたびにグ 101 ローバル環境変数 101を変更するのではなく、デフォルトの 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- 実際にファイルを保存せずに、プロジェクト作成プロセス全体をシミュレートします。たとえば、ドライランを実行して、テンプレートを確定する前にさまざまなテンプレートの動作を確認できます。--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
[Usage:] 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- 画像で検出されたすべての UI 要素の周囲にラベル付きのバウンディング ボックスを描画します。resolveコマンドで使用します。
例: android screen capture --output=ui.png
screen resolve
使用方法: android screen resolve --screenshot=<path> --string=<string>
説明: screen capture を使用してキャプチャしたアノテーション付きスクリーンショットのビジュアル ラベルを、実際の画面座標(x、y)に変換します。
要素の位置を手動で計算しなくても、要素のクリックをスクリプト化する場合に便利です。
Flags:
--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- 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- Canary チャネルから 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- 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
[Usage:] android sdk update [--beta] [--canary] [<package-name>]
説明: 1 つまたはすべてのパッケージをチャネル(デフォルトでは安定版チャネル)の最新バージョンに更新します。パッケージを指定しない場合、すべてのパッケージが更新されます。
選択肢:
<package-name>- 更新するパッケージの名前。--beta- ベータ版パッケージを含めます。--canary- 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 Platforms 35 パッケージを Canary チャネルの最新バージョンに更新します。
update
使用方法: android update
説明: Android CLI を更新します。
-V, --version
説明: Android CLI の現在のバージョンを表示します。