Android CLIは、Googleが提供するAndroid開発用の公式コマンドラインツールです。2026年4月に0.7、5月に1.0が出たあとも更新が続き、10月の1.1.16717390でCrashlyticsの障害調査やプロファイラまで android コマンドから扱えるようになりました。0.7〜1.0向けの手順を使う場合は、現行版のコマンド名や引数との違いに注意が必要です。ここでは2026年11月1日にmacOSで1.1.16717390を動かした結果と公式ドキュメントをもとに、導入、エージェントへの組み込み、コマンドの使い分けを整理します。
まとめ
- 現行版:1.1.16717390(2026年10月)。
android -Vで確認し、android updateで更新する。 - 導入:macOSは
brew install android-cli(tapの追加が先)、Linuxはapt-get、Windowsはwinget install --id Google.AndroidCLI。どのOSにもcurlの1行インストールがある。 - エージェント連携:
android initが検出したエージェント全部にandroid-cliスキルを置く。10月にはClaude Code・Codex向け公式プラグインが登場し、Antigravity向けの既存連携も拡張された。 - つまずきやすい点:
--agentに渡す名前はclaude-code。公式ページの例にあるclaudeは1.1では「Invalid agent」で失敗する。テンプレート一覧はandroid create --list。 - 1.1で増えたもの:
signals(Crashlytics)、profiler、analyze(APK・AAB解析)、preview(IDE不要のComposeプレビュー)、device hub(画面ミラーリング)。9月には実機を借りるdevice remoteも入った。 - 数値の扱い:「トークン70%超削減・3倍速」は環境構築とプロジェクト作成に限ったGoogleの社内実験値で、開発全体の速度ではない。
Android CLIの位置付けと1.1までの版の流れ
公式のAndroid CLIの概要ページは、このツールを「エージェント優先のワークフロー向けに、Android開発の中核的な操作を標準化するもの」と説明しています。人がAndroid Studioの画面で行う操作を、エージェントやCIが呼べる引数と出力にそろえた入口です。
版の刻みは細かく、リリースノートには1.0系だけで10のビルドが並びます。主な節目は次のとおりです。
| 版(公開月) | 主な追加 |
|---|---|
| 0.7(2026年4月) | 初回リリース |
| 1.0.15433482(5月) | studioコマンド・Journeys・winget/brew/apt-get |
| 1.0.15985488(7月) | installコマンド・差分インストール |
| 1.0.16251017(9月) | skills update・シェル補完 |
| 1.0.16406183(9月) | 起動が約2倍速・失敗時に非0で終了 |
| 1.0.16457483(9月) | auth login・device remote |
| 1.0.16625370(10月) | inputコマンド |
| 1.1.16717390(10月) | signals・profiler・analyze・preview・device hub |
5月のAndroid Developers Blogの1.0発表は表題で「Stable 1.0」と明記しています。ただし1.0以降もコマンドの追加と引数の変更が月単位で続いているので、CIのスクリプトは版を固定するか、更新のたびにヘルプを見直してください。
adb・sdkmanager・Gradleとの役割分担
Android CLIは既存ツールを廃止しません。SDKの導入(android sdk install)と仮想デバイス(android emulator)は、従来 sdkmanager と avdmanager に分かれていた入口をまとめたものです。ビルドは android build がGradleやBazelを検出して呼び出す形で、ビルドシステム自体はそのまま残ります。ログ取得やポートフォワードのような低レイヤの操作は、これまでどおり adb の担当です。
9月の1.0.16406183からは create・run・install などが失敗時に非0の終了コードを返すようになり、CIで成否を判定しやすくなりました。手元で未知のサブコマンドを渡すと終了コード2、存在しないエージェント名を渡すと終了コード1が返りました。
「3倍速・トークン70%削減」の対象範囲
出典は2026年4月のAndroid Developers Blogで、原文は「社内実験で、Android CLIはLLMのトークン使用量を70%以上減らしてプロジェクトと環境のセットアップを改善し、標準ツールだけで作業した場合よりタスクが3倍速く完了した」という趣旨です。測ったのはセットアップ系の作業で、コード生成やビルド、テストを含む開発全体の所要時間ではありません。比較対象の「標準ツールセット」の構成も公開されていないため、自社で同じ倍率が出る保証はない数値として扱ってください。
Android CLIのOS別インストール手順(macOS・Linux・Windows)
手順は公式のダウンロードページ(2026年10月19日更新)にOSごとに載っています。どのOSにも「自分のユーザーだけに入れる」ローカル導入と、管理者権限で全ユーザーに入れるグローバル導入の2種類があります。
macOS(Homebrew・curl)
Apple シリコンとIntelで手順は同じです。Homebrewの場合はtapを先に追加します。
brew tap android/tap
brew install android-cli
curlの1行インストールでは、URLのアーキテクチャ部分(darwin_arm64 か darwin_x86_64)を自分のMacに合わせます。
curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash
Linux(apt-get・curl)
Debian系はGoogleの署名鍵を置くだけでは入りません。リポジトリを登録する2行目まで実行してください。
curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | sudo tee /etc/apt/keyrings/google.asc >/dev/null
sudo sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/google.asc] http://dl.google.com/android/cli/latest/debian/ stable main" > /etc/apt/sources.list.d/android-cli.list'
sudo apt-get update
sudo apt-get install android-cli
aptのリポジトリは arch=amd64 だけです。ARM64のLinuxでは、インストーラが linux_arm64 を選ぶcurl版を使います(install.sh の中で Linux aarch64 を判定しています)。
Windows(winget・curl.exe)
winget install --id Google.AndroidCLI
wingetを使わない場合、10月時点のダウンロードページはPowerShellではなくコマンドプロンプト向けに、curl.exe で install.cmd を取得して実行する手順を載せています。6月時点のドキュメントには「Windowsでは android emulator が無効」「PowerShellからのダウンロードは未対応」という既知の問題が書かれていましたが、10月の概要ページとダウンロードページからはこの記述が消えています。解消を明言した告知は見当たらないので、Windowsでは導入直後に android emulator list が動くかを先に確かめてから、エージェントに仮想デバイスの操作を任せてください。
インストーラの設定変更と検証後のディスク使用量
macOS向けの install.sh を読むと、本体を ~/.local/bin/android に置いたうえで、そのディレクトリがPATHに無ければ ~/.zshrc などのシェル設定ファイルの末尾にPATHの行を追記します。dotfilesをリポジトリで管理している場合は、この追記が差分として出ます。
落ちてくる本体は約4.7MBですが、これは起動用の小さなランチャーです。2026年11月1日に隔離したホームディレクトリでCLI情報の表示、スキル取得、ドキュメント検索まで実行したところ、~/.android/bin に約97MB、~/.android/cli に約199MB(ドキュメントの取得データと検索用索引を含む)が保存され、合計のディスク使用量は約300MBでした。CIのランナーで毎回まっさらな環境から同じ操作を行うと、必要なデータの再取得と索引の再生成が発生するため、~/.android をキャッシュ対象に入れておくと、その分の待ち時間を省けます。
導入の確認はmacOS・Linuxで which android、Windowsのコマンドプロンプトで where android、版の確認は android -V、SDKの場所は android info で出ます。SDKのパスを固定したいときは、~/.androidrc(Windowsは %USERPROFILE%\.androidrc)に --sdk=<パス> を1行書くと毎回の指定を省けます。
Claude Code・Codex・Antigravityへの連携設定
CLIを入れただけでは、エージェントはその存在を知りません。スキル(SKILL.md 形式の手順書)を配置して使い方を教えるのが接続の中身で、方法は android init と公式プラグインの2通りです。
android initによるスキルの配置先
android initのリファレンスによると、android init は同梱の android-cli スキルを「検出したすべてのエージェントのスキル用ディレクトリ」に入れます。~/.claude と ~/.codex だけがある環境で実行すると、次の2か所に置かれました。
Skill 'android-cli' installed to ~/.claude/skills/android-cli
Skill 'android-cli' installed to ~/.codex/skills/android-cli
エージェントのディレクトリが1つも見つからない場合は、GeminiとAntigravity向けの ~/.gemini/antigravity/skills に置かれます。Claude Codeを使っているのに効かないときは、~/.claude/skills に入ったかをまず確認してください。
公式プラグインの導入手順(Claude Code・Codex・Antigravity)
エージェントプラグインのページによると、Antigravity・Claude Code・Codexには公式プラグインがあり、中身はいずれも android-cli スキルの追加です。10月の公式ブログは、Antigravity向けプラグインがCLIの最新機能に合わせて更新され、Claude Code・Codex向けが新たに公開されたと説明しています。Claude Code・Codex向けの配布元は GitHubのandroid/android-cli-plugin(Apache-2.0、2026年10月作成)です。
# Claude Code(ターミナルから)
claude plugin marketplace add android/android-cli-plugin
claude plugin install android-cli@android-cli-plugin
# Codex
codex plugin marketplace add android/android-cli-plugin
codex plugin add android-cli@android-cli-plugin
# Antigravity CLI
agy plugin install android-cli-plugin@antigravity-plugins-official
Antigravity版だけは、会話の横にComposeプレビューと端末画面(Device Hub)を出す連携が加わります。agy コマンドそのものの導入と設定はAntigravity CLI(agy)の使い方|Linux導入・自動承認・無料枠とCIの終了コードにまとめています。プラグインとinitのどちらで入れても置かれるスキルは同じなので、チームで手順をそろえるなら、エージェントの種類に依存しない android init を標準にするほうが管理は楽です。
–agent に渡す名前は claude-code
特定のエージェントにだけスキルを入れるときは android skills add --agent=<名前> を使います。ここで間違えやすいのが名前です。skills addのリファレンスは例として「gemini, claude, or codex」と書いていますが、1.1.16717390で --agent=claude を渡すと「Invalid agent: claude」で終了コード1になりました。Claude Code向けの正しい名前は claude-code です。
android skills add edge-to-edge --agent=claude-code
# Skill 'edge-to-edge' installed to ~/.claude/skills/edge-to-edge
誤った名前を渡したときのエラーには受け付ける名前が全部列挙され、数えると73種ありました。codex・cursor・gemini・github-copilot・windsurf・kiro・antigravity-cli などが含まれます。カンマ区切りで複数を指定でき、省略すると検出したエージェント全部に入ります。
主要コマンドと実務での使い分け
1.1.16717390の android --help に並ぶコマンドは help を含めて24個です。役割ごとにまとめると次のようになります。全オプションはコマンドリファレンスにあります。
| 用途 | コマンド |
|---|---|
| 環境構築 | sdk / info / update / init / completion |
| プロジェクト | create / describe / build |
| 端末への配置 | install / run |
| 端末の操作 | emulator / device / screen / layout / input |
| UIの確認 | preview / studio |
| 品質調査 | analyze / profiler / signals |
| 知識の参照 | docs / skills |
| 認証 | auth |
プロジェクトの作成とSDKの導入
テンプレートの一覧は android create --list です。旧版の解説にある android create list は、1.1では list がテンプレート名として解釈され、「Missing required option: –name」で止まります。11月1日時点のテンプレートは、Compose+AGP 9の empty-activity(既定)と、実験的な宣言型ビルドLightbuildを使う empty-activity-lightbuild の2つでした。
android create --list
android create empty-activity --name="My App" --application-id=com.example.myapp --output=./my-app
android sdk install platforms/android-37.0 build-tools/37.0.0
android sdk list --all
必須なのは --name で、--output は省略するとカレントディレクトリになります。--application-id と --namespace は9月の版で加わりました。Lightbuildは公式が「小さなアプリ、試作、デモ向けの実験的プレビュー」と位置付けており、既存の本番アプリはKotlin DSLのまま扱うのが前提です。API 37のSDKパッケージ名と、targetSdk 37で必要な対応はAndroid 17(API 37)の変更点|targetSdk 37で必要な対応とAPI 37.2・対応機種で扱っています。
ビルド・インストール・実行
build・install・run は、10月の1.1から「ビルド参照」を位置引数で受け取れるようになりました。:app のようにバリアントを省くとdebugが選ばれます。
# 以下は対象プロジェクトのルートディレクトリで実行
android build :app
android install :app
android run :app --device=emulator-5554
android install --use-delta-install=false --device=emulator-5554 --apks=base.apk,config.hdpi.apk
install は前回から変わったバイトだけを送る差分インストールが既定で有効で、リファレンスは「adb install より速い」と説明しています。コードを少し直しては端末で確かめる往復をエージェントに繰り返させる用途で効く機能です。署名やインストール周りの不具合を疑うときは、--use-delta-install=false で全体を入れ直して切り分けます。
エミュレーターとUI操作
android emulator create medium_phone
android emulator start --headless medium_phone
android layout
android input tap 'text=Submit'
android screen capture --annotate
仮想デバイスのひな型は android emulator create --list-profiles で確認でき、11月1日時点では small_phone・medium_phone・medium_tablet と、small_desktop・medium_desktop・large_desktop の6種でした。--headless は9月の版で加わり、ウィンドウを出さずにエミュレーターを起動します。CI向けです。layout は既定でタップできる要素だけを返し、木全体が要るときは --full を付けます。input(10月追加)はテキストやリソースIDのセレクタで要素を指定してタップ・スクロール・文字入力を行うので、座標を推測させるより失敗が減ります。
Composeプレビューの画像出力
Composeの @Preview を画像にする方法は2つあります。1.1で加わった android preview render は端末もAndroid Studioも不要で、PNG画像を書き出します。部品ツリーのJSONも保存する場合は --component-tree を付けます。もう一方の android studio render-compose-preview は起動中のAndroid Studioに描画させます。IDEを開かずにCIでUIの見た目を確かめるなら前者を選びます。
android preview list :app
android preview render :app --fqn=com.example.app.HomeScreenKt.HomeScreenPreview --output=./previews
android studioコマンドによるIDE解析結果の取得
android studio は、起動中のAndroid Studioに接続して、IDEの意味解析をターミナルから引き出すコマンド群です。リファレンス(10月16日更新)の要件は「Android Studio Quail 2以上でプロジェクトを開いていること」です。5月の1.0の時点ではプレビュー版のQuailが必要でしたが、現在は安定版のIDEで使えます。現行の安定版と更新の追い方はAndroid Studioとは?できること・インストール手順・使い方を最新版Rabbit(2026.2)で解説を参照してください。
android studio check
android studio find-usages --short HotelDetailScreen
android studio analyze-file path/to/MainActivity.kt
android studio version-lookup
grepで参照箇所を探すと同名メソッドや文字列の一致まで読み込みますが、find-usages はIDEの解析結果だけを返します。サブコマンドは analyze-file・check・find-declaration・find-usages・open-file・render-compose-preview・version-lookup の7つで、version-lookup はMavenのライブラリやSDKツールの最新版を問い合わせます。依存の版を古い学習データのまま書く誤りを防げます。
1.1で増えた品質調査のコマンド
0.7〜1.0は「作る・動かす」までのツールでしたが、9月〜10月の更新でリリース後の障害調査と性能調査まで範囲が広がりました。
Crashlyticsの障害情報の照会と絞り込み
android signals は、Firebase Crashlyticsに集まったクラッシュ・ANR・非致命的エラーを照会します。先に android auth login でFirebaseプロジェクトにアクセスできるGoogleアカウントへサインインします。
android auth login
android signals context
android signals crashes list --firebase-app=<アプリID>
android signals crashes describe <issue-id> --firebase-app=<アプリID>
android signals crashes facets app-version --firebase-app=<アプリID>
リファレンスの流れは、crashes list で影響ユーザー数の多い課題を選び、describe でスタックトレースとAPIレベル・機種の分布を見て、facets でアプリの版や機種ごとに切り分ける、というものです。アプリIDの --firebase-app は前のコマンドから引き継がれないので、毎回付けるか ~/.androidrc に書いておきます。describe に渡すissue-idは、crashes list が返す接頭辞付きの値です。メモリ不足で落ちた場合は signals heaps でヒープダンプを取得できます。auth login の更新トークンはOSのキーリングに保存され、キーリングが無い環境では本人だけが読めるテキストファイルに置かれます(Linuxは libsecret-tools を入れればキーリングを使います)。共用のCIランナーでサインインさせる場合は、このファイルの扱いを決めてから使ってください。
プロファイラとAPK・AABの解析
android profiler systemtrace はシステムトレースを、android profiler heapdump capture はJVMのヒープダンプを、接続中の端末やエミュレーターから取得します。android analyze はAPK・AAB・AAR・JARを読み、DEXのサイズやR8の縮小・最適化の割合、ライブラリのkeepルールに関する警告を出します。--format=json で機械が読める出力になるので、リリースビルドのDEXサイズをCIで記録し、急増したら止めるといった使い方ができます。
Android Device Streamingによる実機の予約・接続
9月の版で加わった android device remote は、Googleのデータセンターにある実機を予約して手元の adb につなぎます。10月の発表ブログの例はPixel 10 Proへの接続です。
android device remote projects
android device remote models
android device remote create tokay/34 --project=my-project
android device hub
つないだ実機は run や install から通常の端末と同じく扱えます。注意点は課金で、リファレンスは「リモート端末はGoogle Cloudプロジェクトに課金される」と明記しています。予約は extend で延長でき、使い終わったら disconnect と remove で解放します。エージェントに予約まで任せる場合は、解放の手順もスキルや指示に必ず書いておいてください。device hub は端末の画面をデスクトップのウィンドウに映して操作するコマンドで、初回に拡張パックを取得します。
Android Skillsの一覧と更新
Android Skillsは、Androidの推奨手順をエージェントに渡すための SKILL.md 形式の指示セットで、GitHubのandroid/skillsで公開されています。11月1日に android skills list で数えると36個ありました。AGP 9への移行(agp-9-upgrade)、XMLからComposeへの移行、Navigation 3、エッジツーエッジ、R8設定の監査(r8-analyzer)、ANRの監査、Play ポリシーの事前確認、Wear OSのCompose Material 3などです。
android skills list
android skills find performance
android skills add wear-compose-m3 --project=.
android skills update --all
--project を付けるとグローバルではなくそのリポジトリ内に入るので、チームで同じスキルをGitで共有できます。1つ注意があります。導入済みのスキルを自分で書き換えた場合、ディレクトリ名を変えておかないと、次の skills add や skills update で公式版に上書きされます。Antigravity側でスキルを置く場所の違いはAntigravityのマルチエージェントの使い方|サブエージェント・/boost・/teamwork・Skills設定【2026年10月】で整理しています。
導入前に確認したい制約と効果が出ない場面
人がAndroid Studioで開発している現場に導入した場合の削減効果は、この実験結果だけでは判断できません。比較の基準が「エージェントが標準ツールを手探りする状態」だからです。
既存のCIを急いで移す必要がない場面もあります。CIがすでにGradleタスクとadbのスクリプトで安定して回っているチームは、一括移行よりも、差分インストールやIDE不要のプレビューなど必要な機能だけを追加する方針が妥当です。
Windowsでエミュレーターを日常的に使うチームは、前述の既知の問題が解消されたかを自分の環境で確かめてからにしてください。社外にソースの一部を出せない案件では、docs や skills の取得でネットワークに出る点も事前に確認が要ります。
利用状況の送信にも目を通しておきます。公式の説明では、送られるのはコマンド名、オプション名、エミュレーターのテンプレート名やエージェント名のような既定の値、匿名化した例外情報で、ファイルパスやプロジェクト名などの入力値とコマンドの出力は送られません。止めたい場合はコマンドごとに --no-metrics を付けます。
エージェントに環境構築から実機確認までを任せたい場合や、新規プロジェクトのCIをこれから設計する場合は導入する価値があります。Androidアプリの開発体制を外部と組んで立ち上げる場合は、Androidアプリ開発の支援内容も参考にしてください。
よくある質問
Android CLIのインストール方法は?
macOSは brew tap android/tap のあと brew install android-cli、Linuxはapt-getのリポジトリを登録して sudo apt-get install android-cli、Windowsは winget install --id Google.AndroidCLI です。入れたあとは android init を実行します。
Claude CodeやCodexから使うには?
Claude CodeとCodexの両方が検出される環境で android init を実行すると、~/.claude/skills と ~/.codex/skills に android-cli スキルが置かれます。2026年10月からは公式プラグイン(android/android-cli-plugin)でも入れられます。--agent で個別に指定するときの名前は claude-code と codex で、claude は無効です。
adbやsdkmanagerは不要になりますか?
不要にはなりません。SDK管理と仮想デバイスの入口はまとめられますが、ログ取得などの低レイヤの操作はadb、ビルドはGradleのままです。
Windowsでも使えますか?
使えます。wingetか curl.exe と install.cmd で入ります。6月時点の「android emulator が無効」という既知の問題は10月のドキュメントから消えましたが、解消の告知は無いため、導入直後に android emulator list を試してください。
バージョンの確認とアップデートの方法は?
版は android -V(または android info)で表示されます。2026年10月時点の最新は1.1.16717390です。更新は android update、スキルは別に android skills update --all で更新します。