Expert in `android sdk install/list/remove/update` — channels, version pinning, reproducible team & CI SDK setups. Use when using Android CLI tools for android sdk mgmt.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add anubhavg-icpl/vibe --skill android-sdk-mgmt-expert --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Android Sdk Mgmt Expert?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/anubhavg-icpl-android-sdk-mgmt-expert)More formats (shields.io, HTML) on the badges page.
---
name: android-sdk-mgmt-expert
description: Expert in `android sdk install/list/remove/update` — channels, version pinning, reproducible team & CI SDK setups. Use when using Android CLI tools for android sdk mgmt.
license: CC-BY-NC-SA-4.0
metadata:
risk: unknown
source: community
kind: mode
category: android-cli
tags: [android, android-cli, sdk, sdkmanager, ci, reproducibility, 2026]
---
# Android SDK Management Expert Mode
You are an expert in **`android sdk`**, the package manager that replaces the historical `sdkmanager` for agent-driven workflows. You install only what is needed (lean environments), pin versions, and produce reproducible SDK setups across developers and CI.
## Core Capabilities
### Subcommand shape
```text
android sdk install <package[@version]>... [--beta] [--canary] [--force]
android sdk list [<package-pattern>] [--all] [--all-versions] [--beta] [--canary]
android sdk remove <package-name>
android sdk update [<package-name>] [--beta] [--canary]
```
### Channels
By default `sdk install/list/update` operate on the **stable** channel. Add:
- `--beta` to include beta packages.
- `--canary` to include canary packages.
Channels stack: `--beta --canary` shows both.
### Version pinning
Every install accepts `package@version`:
```bash
android sdk install platforms/android-34@2 # exact revision 2 of API 34
android sdk install build-tools/34.0.0 # latest of that build-tools line
```
This is the centerpiece of reproducibility: a `setup.sh` that pins every package by revision is the foundation for byte-identical CI builds.
### Force downgrades
`--force` is required to install an older revision over a newer one:
```bash
android sdk install --force platforms/android-33@1
```
> Risk: an active project may hard-depend on a feature added in the newer revision. Downgrade behind a feature branch, not on `main`.
### Listing patterns
```bash
android sdk list # installed only
android sdk list --all # installed + available
android sdk list 'platforms/android-3.*' --all # regex filter
android sdk list --all-versions build-tools # show every version
android sdk list --canary system-images # canary system images
```
## Workflow
### Reproducible team SDK in 4 commands
```bash
# 1. Pin the SDK location once via .androidrc (see android-cli-expert-mode)
echo '--sdk=/opt/android-sdk' >> ~/.androidrc
# 2. Install exactly what's needed
android sdk install \
platforms/android-34@2 \
build-tools/34.0.0 \
platform-tools \
system-images/android-34/google_apis/x86_64
# 3. Verify
android sdk list
# 4. Snapshot for CI (treat /opt/android-sdk as cacheable artifact)
tar -C /opt -czf android-sdk-snapshot.tgz android-sdk
```
### Updating
```bash
android sdk update # all stable packages
android sdk update build-tools/34.0.0 # one package
android sdk update --canary platforms/android-35
```
### Removing cruft
```bash
android sdk list # find old revisions
android sdk remove build-tools/36.1.0 # nuke an unused one
```
## Real Examples
### Minimal "build a debug APK" footprint
```bash
android sdk install \
platforms/android-34 \
build-tools/34.0.0 \
platform-tools
```
That is enough to run `./gradlew assembleDebug` for an AGP 9 project targeting API 34. No emulator images, no NDK, no system-images — keeps a CI runner under ~500MB of SDK.
### Wear OS testing footprint
```bash
android sdk install \
platforms/android-34 \
build-tools/34.0.0 \
platform-tools \
system-images/android-34/android-wear/x86
```
### Pre-flight a canary API
```bash
android sdk install --canary \
platforms/android-35 \
system-images/android-35/google_apis/x86_64
android emulator create --profile=medium_phone # boots against canary image
```
### Reverting a bad upgrade
```bash
android sdk install --force build-tools/33.0.2@1
android sdk list build-tools # verify
```
## Common Pitfalls
- **Forgetting `--force` on a downgrade** silently leaves the newer revision installed — you'll think you reverted but the toolchain still resolves to the newer one.
- **Mixing channels in `.androidrc`.** Do **not** put `--canary` in `.androidrc`. It will quietly poison every list/install with canary packages and make builds non-deterministic across machines.
- **Snapshotting the wrong path.** The SDK lives where `--sdk=` points (or `android info` reports). Snapshot that, not `~/Android/Sdk` blindly.
- **Removing platform-tools to "clean up".** Almost everything (`adb`, `fastboot`) breaks. Keep `platform-tools` installed.
- **CI cache key drift.** Use the package-version list (sorted) as the cache key, not a date. Otherwise a beta promotion silently invalidates your cache fleet-wide.
## When to Use This Mode
Use `android sdk` over the legacy `sdkmanager`:
- Always, for agent-driven flows. `sdkmanager` is a deprecated CLI shape.
- For CI, because version pinning syntax is consistent and channels are explicit.
Prefer Android Studio's SDK Manager GUI when:
- A human wants to browse, hover for descriptions, and tick checkboxes interactively.
## Sources
- Overview of Android CLI (`sdk` section) — https://developer.android.com/tools/agents/android-cli
- Release notes — https://developer.android.com/tools/agents/android-cli/release-notes
- Announcement (lean environments) — https://android-developers.googleblog.com/2026/04/build-android-apps-3x-faster-using-any-agent.html
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!