Files
fn_registry/bash/functions/infra/install_android_sdk.md
egutierrez 89e443ab18 feat: add bash infra functions — Gitea, Android SDK, Mantine, Capacitor
Nuevas funciones bash: gestión Gitea (create_repo, list_repos, add_collaborator,
push_directory), install_android_sdk, install_mantine, frontend_doctor.
Pipelines: capacitor_build_apk y gitea_init_app.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:47:10 +02:00

2.5 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
install_android_sdk function bash infra 1.0.0 impure install_android_sdk() -> void Descarga e instala Android SDK command-line tools y JDK 17 localmente (sin root/sudo) en $ANDROID_SDK_DIR (default: $HOME/android-sdk). Idempotente: detecta instalacion existente y sale sin hacer nada. Genera env.sh con JAVA_HOME, ANDROID_HOME y PATH listos para hacer source.
android
sdk
jdk
java
install
infra
mobile
false error_go_core
sin salida estructurada; imprime progreso y resumen final con rutas de instalacion false
bash/functions/infra/install_android_sdk.sh

Ejemplo

# Instalacion en directorio por defecto ($HOME/android-sdk)
source install_android_sdk.sh

# Instalacion en directorio personalizado
ANDROID_SDK_DIR=/opt/android source install_android_sdk.sh

# Si ya esta instalado:
# Android SDK ya instalado en: /home/user/android-sdk

# Instalacion completa imprime:
# Descargando JDK 17...
# JDK 17 instalado: /home/user/android-sdk/jdk-17/jdk-17.0.x+y
# Descargando Android cmdline-tools...
# cmdline-tools instalados
# Aceptando licencias de Android SDK...
# Instalando platform-tools, platforms;android-34, build-tools;34.0.0...
#
# Android SDK instalado en: /home/user/android-sdk
# JDK 17: /home/user/android-sdk/jdk-17/jdk-17.0.x+y
# Para activar: source /home/user/android-sdk/env.sh

# Activar entorno en sesion actual
source ~/android-sdk/env.sh

Notas

Requiere curl y unzip (disponibles en la mayoria de distros Linux). No requiere root ni sudo.

El JDK se descarga desde Adoptium (Eclipse Temurin) via su API oficial. La URL de cmdline-tools apunta a la version 11076708 (2024). Si Google actualiza la version, cambiar la URL con el nuevo numero de build.

La reorganizacion del zip es necesaria porque Google distribuye cmdline-tools con estructura cmdline-tools/bin/... pero sdkmanager espera estar en cmdline-tools/latest/bin/sdkmanager para que Android Studio y otras herramientas lo detecten correctamente.

El archivo env.sh generado en $ANDROID_SDK_DIR/env.sh contiene las variables de entorno necesarias (JAVA_HOME, ANDROID_HOME, ANDROID_SDK_ROOT, PATH) y puede hacerse source desde .bashrc, .zshrc o desde scripts de CI.

Paquetes instalados: platform-tools (adb, fastboot), platforms;android-34 (API 34), build-tools;34.0.0.