asd Android SDK Downloader — offline-friendly SDK component installer

Installing Components

Update the registry first

asd resolves everything from a local CSV file. Before installing anything for the first time (or if you suspect the registry is stale), refresh it:

asd --update

-up is the short form. This fetches sdk-archives.csv from maven.myket.ir, drops any Windows/macOS-only rows, and saves the result to $ASD_CSV.

Find a package name

List everything available, optionally filtered by a substring match against the package path or display name:

asd --list           # every package in the registry
asd --list ndk        # anything matching "ndk"
asd -l build-tools

Each row shows the package path (what you pass to asd install), its display name, and version:

PACKAGE                                 NAME                                          VERSION
ndk;27.0.12077973                       NDK (Side by side)                            27.0.12077973
build-tools;37.0.0-rc2                  Android SDK Build-Tools 37-rc2                37.0.0-rc2

Install it

asd ndk                          # latest matching version
asd ndk 27.0.12077973            # a specific version
asd build-tools 37.0.0-rc2
asd platform-tools

asd downloads the archive with aria2c, checks its SHA-1 against the registry, extracts it under $ANDROID_HOME, flattens a redundant single-subdirectory wrapper if the archive has one, and writes a package.xml so the component is recognized by the Android SDK tooling.

Confirm what’s installed

asd --installed         # everything found under $ANDROID_HOME
asd --installed ndk     # just the NDK entries

This walks $ANDROID_HOME for package.xml files rather than reading the registry, so it reflects what’s actually on disk.