asd Android SDK Downloader — offline-friendly SDK component installer

Repairing & Verifying

Detecting broken installs

asd --fix scans every installed component (every package.xml under $ANDROID_HOME) and looks for directories with no content files besides the package.xml itself — a common symptom of an interrupted extraction.

Check everything:

asd --fix
Checking all installed packages for issues ...
Fixing: NDK (Side by side) (27.0.12077973) ...
Fixed 1 package(s).

Check (and fix) just one component:

asd --fix ndk

If an issue is found, asd removes the broken directory and reinstalls the exact same version from the registry — the same code path as asd install, so the SHA-1 checksum is re-verified on the way back in.

Verifying a checksum

asd --fix only checks whether files exist, not whether their content is correct. To confirm an already-installed component matches the registry’s SHA-1 exactly, re-download and hash it with --verify:

asd --verify ndk 27.0.12077973
Downloading archive to verify checksum ...
Registry checksum:  3a7f1e2c9b8d4f6a1e5c7b9d3f2a8e6c4b1d9f7a
Downloaded checksum: 3a7f1e2c9b8d4f6a1e5c7b9d3f2a8e6c4b1d9f7a
Checksum OK. Archive is authentic.

This re-downloads the archive to hash it, so it’s a heavier operation than --fix — reach for it when you specifically suspect tampering or corruption rather than as a routine check.

Removing a component entirely

If repairing isn’t what you want and you’d rather start clean:

asd --remove ndk
asd ndk

See the Command Reference for the exact semantics of --fix, --verify, and --remove.