android-cli
rosuH/EasyWatermark/.claude/skills/android-cli/SKILL.md
Provides instructions for installing and using the `android` CLI. The `android` command-line tool is a critical tool for Android development and helps you create new Android projects, run Android apps on devices, manage and interact with Android virtual devices (including screenshots and UI inspection), manage Android SDK components, look up official Android documentation, and discover and install official Android skills.
- Pipes a download into a shell
What's in it
- Android CLI Specialist
- Installation
- SDK management
- Project creation
- Interacting with Android devices
- Running journey tests
- Doc searching
- Running APKs
- Managing emulators
- Capturing screenshots
- Managing skills
- Updating the CLI
- android help output
---
name: android-cli
description: Provides instructions for installing and using the `android` CLI. The `android` command-line tool is a critical tool for Android development and helps you create new Android projects, run Android apps on devices, manage and interact with Android virtual devices (including screenshots and UI inspection), manage Android SDK components, look up official Android documentation, and discover and install official Android skills.
---
# Android CLI Specialist
This skill provides instructions for using the `android` CLI tool. The tool includes various commands for creating projects, running applications, interacting with devices, and managing the CLI environment.
## Installation
If the android tool is not in the path, install it. To install run the following command:
Linux: curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash
Mac Arm: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash
Mac Intel: curl -fsSL https://dl.google.com/android/cli/latest/darwin_x86_64/install.sh | bash
Windows: curl -fsSL https://dl.google.com/android/cli/latest/windows_x86_64/install.cmd -o "%TEMP%\i.cmd" && "%TEMP%\i.cmd"
## SDK management
To manage the installation of Android SDKs and tools, use the `sdk` command. For example:
- `android sdk install <package>[@<version>]...`: Install specific packages. Multiple packages can be specified, separated by spaces. `<version>` defaults to latest. For example: `android sdk install platforms/android-30@2 platforms/android-34`
- `android sdk update [<pkg-name>]`: Update a specific package or all packages to the latest version.
- `android sdk remove <pkg-name>`: Remove a package from the local SDK.
- `android sdk list --all`: List installed and available SDK packages.
## Project creation
Create projects from templates using the `create` command.
For example: `android create empty-activity --name="My App" --output=./my-app`
## Interacting with Android devices
Use the `android layout` command to inspect the UI layout of an Android application in JSON format.
Use the `android screen` command to visually inspect the UI and obtain bounding coordinates for visual regions.
**IMPORTANT:** Before using `android layout` or `android screen`, you MUST read this reference: [interact.md](references/interact.md)
The reference file [interact.md](references/interact.md) contains instructions for properly interacting with Android devices. Follow its instructions exactly.
### Running journey tests
Journey tests involve device interaction; use the `android layout` and `android screen` commands to evaluate Journeys.
The instructions for device interaction apply here as well.
**IMPORTANT:** Before evaluating a journey, you MUST read this reference: [journeys.md](references/journeys.md)
The reference file [journeys.md](references/journeys.md) contains instructions for correctly evaluating an Android journey. Follow its instructions exactly.
## Doc searching
The `docs` command searches authoritative, high-quality Android developer documentation in the Android Knowledge Base.
By providing a few keywords, this tool will return high quality articles that contain examples or guidance on how to use Android APIs or libraries.
Use this tool to obtain additional information on how to achieve Android-specific tasks or to know more about Android APIs, surfaces, libraries, or devices.
Always use this tool to get the most up-to-date information about Android concepts. Typical good use cases are:
- Finding migration guides for APIs.
- Finding examples for APIs.
- Finding up-to-date information about Android APIs.
- Finding best practices for Android concepts.
## Running APKs
Use the `run` command to run Android apps.
## Managing emulators
Manage Android Virtual Devices (AVDs) using the `android emulator` command
## Capturing screenshots
Capture an image of the current screen of a connected Android device and output it to a file using the `android screen` command.
## Managing skills
Manage agent skills for Android using the `android skills` command.
## Updating the CLI
Update the Android CLI using the `android update` command.
# `android help` output
Usage: android [-Vhv] [--sdk=PARAM] [COMMAND]
-h, --help Show this help message and exit.
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Commands:
completion Installs shell autocomplete configuration for the Android CLI in
the current user profile.
create Create a new Android project from available templates. Allows
specifying project name, output directory, minSdk, and dry-run
execution.
describe Analyzes an Android project to generate descriptive metadata.
This command identifies and outputs the paths to JSON files that
detail the project's structure, including build targets and their
corresponding output artifact locations (e.g., APKs). This
information enables other tools and commands to locate build
artifacts efficiently.
docs Android documentation commands for searching and fetching
developer documentation from the official knowledge base.
emulator Manage Android Virtual Devices (AVDs). Includes commands to start,
stop, list, and view details about emulators.
help Shows the help of all commands
info Print environment information including SDK location, connected
devices, and configuration variables. Use specific fields to
narrow the output.
init Initializes the environment for the Android CLI. Sets up required
configurations, directories, and default skills.
install Install an Android Application (one or more APKs) to a connected
device or emulator without activating any components using
incremental optimizations for faster deployment than adb.
layout Returns the layout tree of an application
run Build, deploy, and launch an Android application on a connected
device or emulator.
screen Commands to view the device
sdk Manage the Android SDK installation. Includes commands to install,
update, remove, and list available and installed SDK packages.
skills Manage Android CLI skills. Includes commands to install, remove,
list, and search for skills by keyword.
studio Android Studio commands
update Update the Android CLI to the latest version.
completion
Usage: android completion [-h] [<shell>]
Installs shell autocomplete configuration for the Android CLI in the
current user profile.
Options:
-h, --help Show this help message and exit.
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Positional Parameters:
<shell> If provided, print the given shell completion without
installing. Supported: bash, zsh
create
Usage: android create [-h] [--list] [--minSdk=PARAM] [--name=PARAM] [--output=PARAM]
[<template-name>]
Create a new Android project from available templates. Allows
specifying project name, output directory, minSdk, and dry-run
execution.
Options:
-h, --help Show this help message and exit.
--list List all available templates
--minSdk=PARAM The 'minSdk' supported by the application
(default is defined in the template)
--name=PARAM The name of the application (e.g. 'My
Application')
-o, --output=PARAM The destination project directory path (default
is '.')
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Positional Parameters:
<template-name> The template name
describe
Usage: android describe [-h] [--project_dir=PARAM]
Analyzes an Android project to generate descriptive metadata.
This command identifies and outputs the paths to JSON files that
detail the project's structure, including build targets and their
corresponding output artifact locations (e.g., APKs). This information
enables other tools and commands to locate build artifacts
efficiently.
Options:
-h, --help Show this help message and exit.
--project_dir=PARAM The project directory to describe
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
docs
Usage: android docs [-h] [COMMAND]
Android documentation commands for searching and fetching developer
documentation from the official knowledge base.
Options:
-h, --help Show this help message and exit.
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Commands:
search Search Android documentation. Enclose keywords in quotes.
fetch Fetch an Android documentation article from a URL (kb://...)
emulator
Usage: android emulator [-h] [COMMAND]
Manage Android Virtual Devices (AVDs). Includes commands to start,
stop, list, and view details about emulators.
Options:
-h, --help Show this help message and exit.
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Commands:
create Creates a virtual device
start Launches the specified virtual device. This command will
return when the emulator is fully started and ready to use.
stop Stops the specified virtual device
list Lists available virtual devices
remove Delete a virtual device
help
Usage: android help [-h] [COMMAND]
Shows the help of all commands
Options:
-h, --help Show this help message and exit.
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Positional Parameters:
COMMAND The command to show help for
info
Usage: android info [-h] [<field>]
Print environment information including SDK location, connected
devices, and configuration variables. Use specific fields to narrow
the output.
Options:
-h, --help Show this help message and exit.
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Positional Parameters:
<field> The specific field to print the value of. If omitted print
all.
init
Usage: android init [-h]
Initializes the environment for the Android CLI. Sets up required
configurations, directories, and default skills.
Options:
-h, --help Show this help message and exit.
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
install
Usage: android install [-h] [--apks=PARAM] [--device=PARAM] [--install-options=PARAM]
[--use-delta-install]
Install an Android Application (one or more APKs) to a connected
device or emulator without activating any components using incremental
optimizations for faster deployment than adb.
Options:
--apks=PARAM The paths to the APKs, comma separated
--device=PARAM The device serial number
-h, --help Show this help message and exit.
--install-options=PARAM Additional options/flags to pass to
package manager install (e.g. -g,-d)
--use-delta-install Use fast delta install (speeds up
incremental updates by transferring
only modified code and resources;
default: true)
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for
troubleshooting
-V, --version Print version information and exit.
layout
Usage: android layout [-dhp] [--device=PARAM] [--flat] [--full] [--no-idle]
[--output=PARAM]
Returns the layout tree of an application
Options:
--device=PARAM The device serial number
-d, --diff Deprecated; no-op flag. Will be removed in a
future release.
--flat Returns a flat list instead of a tree
--full Return the full tree, including non-interactive
and hidden elements
-h, --help Show this help message and exit.
--no-idle Don't wait for layout idle state when fetching
layout
-o, --output=PARAM Writes the layout to the specified file or
directory. If omitted, prints to standard output
-p, --pretty Pretty-prints the returned JSON
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
run
Usage: android run [-h] [--activity=PARAM] [--apks=PARAM] [--debug] [--device=PARAM]
[--install-options=PARAM] [--type=PARAM] [--use-delta-install]
Build, deploy, and launch an Android application on a connected device
or emulator.
Options:
--activity=PARAM The activity name
--apks=PARAM The paths to the APKs, comma separated
--debug Run in debug mode
--device=PARAM The device serial number
-h, --help Show this help message and exit.
--install-options=PARAM Additional options/flags to pass to
package manager install (e.g. -g,-d)
--type=PARAM The component type (ACTIVITY,
WATCH_FACE, TILE, COMPLICATION,
DECLARATIVE_WATCH_FACE, WEAR_WIDGET)
--use-delta-install Use fast delta install (speeds up
incremental updates by transferring
only modified code and resources;
default: true)
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for
troubleshooting
-V, --version Print version information and exit.
screen
Usage: android screen [-h] [COMMAND]
Commands to view the device
Options:
-h, --help Show this help message and exit.
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Commands:
capture Outputs the device screen to a PNG
resolve Target UI elements visually
Substitutes bounding box coordinates from a annotated
screenshot into a string. Replaces all instances of '#N'
with the center coordinates of the bounding box labeled 'N'
sdk
Usage: android sdk [-h] [--platform=PARAM] [COMMAND]
Manage the Android SDK installation. Includes commands to install,
update, remove, and list available and installed SDK packages.
Options:
-h, --help Show this help message and exit.
--platform=PARAM Target platform <os>_<arch> (e.g.
linux_x86_64, mac_arm64, windows_x86),
defaults to current host
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Commands:
install Install SDK packages
update Update one or all packages to the latest version
remove Remove packages from the SDK
list List installed and available SDK packages
skills
Usage: android skills [-h] [COMMAND]
Manage Android CLI skills. Includes commands to install, remove, list,
and search for skills by keyword.
Options:
-h, --help Show this help message and exit.
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Commands:
add Install a specific skill by its ID to your environment
remove Remove an installed skill by its ID
list List installed and available skills
find Search for available skills in the repository matching a
keyword
update Update installed skills
studio
Usage: android studio [-h] [COMMAND]
Android Studio commands
Options:
-h, --help Show this help message and exit.
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
Commands:
find-declaration Find declaration of a symbol
find-usages Find usages of a symbol
open-file Open a file in Android Studio
check Check the status of running Studio instances
analyze-file Analyze a file in Android Studio
render-compose-preview Render a Compose preview in Android Studio
version-lookup Looks up the latest available versions on
the internet of maven artifacts, Android
versions, and more.
update
Usage: android update [-h] [--url=PARAM]
Update the Android CLI to the latest version.
Options:
-h, --help Show this help message and exit.
--url=PARAM The URL to download the update from
android options:
--sdk=PARAM Path to the Android SDK
-v, --verbose Enable verbose output for troubleshooting
-V, --version Print version information and exit.
More agent context in rosuH/EasyWatermark
99 other files this repository gives its agents, the first 60 shown.
AGENTS.md
CLAUDE.md
Skill
- adaptive.agents/skills/adaptive/SKILL.md
- agp-9-upgrade.agents/skills/agp-9-upgrade/SKILL.md
- android-cli.agents/skills/android-cli/SKILL.md
- android-intent-security.agents/skills/android-intent-security/SKILL.md
- android-permissions-security.agents/skills/android-permissions-security/SKILL.md
- android-profiler.agents/skills/android-profiler/SKILL.md
- appfunctions.agents/skills/appfunctions/SKILL.md
- auditing-compose-performance.agents/skills/auditing-compose-performance/SKILL.md
- avoiding-subcomposition-pitfalls.agents/skills/avoiding-subcomposition-pitfalls/SKILL.md
- camerax.agents/skills/camerax/SKILL.md
- configuring-lazy-prefetch.agents/skills/configuring-lazy-prefetch/SKILL.md
- debugging-recompositions.agents/skills/debugging-recompositions/SKILL.md
- deferring-state-reads.agents/skills/deferring-state-reads/SKILL.md
- diagnosing-compose-stability.agents/skills/diagnosing-compose-stability/SKILL.md
- display-glasses-with-jetpack-compose-glimmer.agents/skills/display-glasses-with-jetpack-compose-glimmer/SKILL.md
- edge-to-edge.agents/skills/edge-to-edge/SKILL.md
- enforcing-stability-in-ci.agents/skills/enforcing-stability-in-ci/SKILL.md
- engage-sdk-integration.agents/skills/engage-sdk-integration/SKILL.md
- generating-baseline-profiles.agents/skills/generating-baseline-profiles/SKILL.md
- iterating-with-ai-and-mcp.agents/skills/iterating-with-ai-and-mcp/SKILL.md
- leanback-to-compose-tv-migration.agents/skills/leanback-to-compose-tv-migration/SKILL.md
- media3-cast-integration.agents/skills/media3-cast-integration/SKILL.md
- migrate-xml-views-to-jetpack-compose.agents/skills/migrate-xml-views-to-jetpack-compose/SKILL.md
- migrating-to-modifier-node.agents/skills/migrating-to-modifier-node/SKILL.md
- ml-kit-genai-prompt-api.agents/skills/ml-kit-genai-prompt-api/SKILL.md
- navigation-3.agents/skills/navigation-3/SKILL.md
- navigation-event.agents/skills/navigation-event/SKILL.md
- optimizing-lazy-layouts.agents/skills/optimizing-lazy-layouts/SKILL.md
- ordering-modifier-chains.agents/skills/ordering-modifier-chains/SKILL.md
- play-billing-library-version-upgrade.agents/skills/play-billing-library-version-upgrade/SKILL.md
- play-policy-insights.agents/skills/play-policy-insights/SKILL.md
- preserving-state-across-reloads.agents/skills/preserving-state-across-reloads/SKILL.md
- r8-analyzer.agents/skills/r8-analyzer/SKILL.md
- restore-credentials.agents/skills/restore-credentials/SKILL.md
- setting-up-compose-hotswan.agents/skills/setting-up-compose-hotswan/SKILL.md
- stabilizing-compose-types.agents/skills/stabilizing-compose-types/SKILL.md
- styles.agents/skills/styles/SKILL.md
- testing-compose-in-release-mode.agents/skills/testing-compose-in-release-mode/SKILL.md
- testing-setup.agents/skills/testing-setup/SKILL.md
- tracing-recompositions-at-runtime.agents/skills/tracing-recompositions-at-runtime/SKILL.md
- understanding-hot-reload-limits.agents/skills/understanding-hot-reload-limits/SKILL.md
- understanding-stability-inference.agents/skills/understanding-stability-inference/SKILL.md
- using-efficient-effects.agents/skills/using-efficient-effects/SKILL.md
- using-stability-analyzer-ide-plugin.agents/skills/using-stability-analyzer-ide-plugin/SKILL.md
- using-strong-skipping-correctly.agents/skills/using-strong-skipping-correctly/SKILL.md
- verified-email.agents/skills/verified-email/SKILL.md
- visualizing-recomposition-cascades.agents/skills/visualizing-recomposition-cascades/SKILL.md
- wear-compose-m3.agents/skills/wear-compose-m3/SKILL.md
- adaptive.claude/skills/adaptive/SKILL.md
- agp-9-upgrade.claude/skills/agp-9-upgrade/SKILL.md
- android-intent-security.claude/skills/android-intent-security/SKILL.md
- android-permissions-security.claude/skills/android-permissions-security/SKILL.md
- android-profiler.claude/skills/android-profiler/SKILL.md
- appfunctions.claude/skills/appfunctions/SKILL.md
- camerax.claude/skills/camerax/SKILL.md
- display-glasses-with-jetpack-compose-glimmer.claude/skills/display-glasses-with-jetpack-compose-glimmer/SKILL.md
- edge-to-edge.claude/skills/edge-to-edge/SKILL.md
- engage-sdk-integration.claude/skills/engage-sdk-integration/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

