android-sdk
Recipe card from the charly-check plugin (Commands — runtime CLI verbs).
android-sdk — the Android SDK toolchain candy
Section titled “android-sdk — the Android SDK toolchain candy”Candy Properties
Section titled “Candy Properties”| Property | Value |
|---|---|
| Install root | /opt/android-sdk |
| Requires | @github.com/opencharly/layer-java-openjdk (JDK 21) |
| Env | ANDROID_HOME, ANDROID_SDK_ROOT = /opt/android-sdk |
| System image | API-36 google_apis_playstore x86_64 (sdkmanager-fetched) |
What it installs
Section titled “What it installs”From CachyOS/Arch packages under /opt/android-sdk:
cmdline-tools (sdkmanager/avdmanager), platform-tools (adb),
build-tools 36 (aapt2), platform android-36, and the emulator.
apkeep (the by-package-name app downloader the charly check adb install-app verb drives) is installed from its upstream precompiled
x86_64 binary. The one component with no package anywhere — the API-36
google_apis_playstore x86_64 system image — is fetched by sdkmanager
into a persistent cache and copied alongside the tools.
Compose it in a box (a named box’s candy: value is the box BODY):
android-dev: candy: base: cachyos-base candy: - '@github.com/opencharly/layer-android-sdk:v2026.xxx.yyyy'The SDK lands at fixed paths under /opt/android-sdk, so it is verifiable
by probing those paths and running adb version. Pair it with an
emulator device (kind: android) and the adb:/appium: check verbs.
Verification
Section titled “Verification”plan: check: steps assert /opt/android-sdk/cmdline-tools/latest/bin/sdkmanager,
.../platform-tools/adb, .../build-tools/36.0.0/aapt2, .../emulator/emulator,
.../platforms/android-36, and the fetched system-image directory all exist,
that adb version reports the Android Debug Bridge banner, and that apkeep
resolves on PATH.
Related
Section titled “Related”/charly-check:android— thekind: androiddevice +target: androiddeploy/charly-check:adb— theadb:probe verb/charly-check:appium— theappium:UI-automation verb

