Skip to content
Back to skills

Android Sdk Mgmt Expert

ASecurity

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.

  • 9 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 8, 2026
developmentgobashtestingapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add anubhavg-icpl/vibe --skill android-sdk-mgmt-expert --agent claude-code

Installs 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 with every re-scan.

Security grade badge for Android Sdk Mgmt Expert
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anubhavg-icpl-android-sdk-mgmt-expert/badge)](https://www.skillsdirectory.com/skills/anubhavg-icpl-android-sdk-mgmt-expert)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.