sdkmanager

sdkmanager es una herramienta de línea de comandos que te permite ver, instalar, actualizar y desinstalar paquetes para el SDK de Android. Si usas Android Studio, no necesitas esta herramienta y, en cambio, puedes administrar tus paquetes de SDK desde el IDE.

La herramienta sdkmanager se proporciona en el paquete de herramientas del SDK de Android (25.2.3 y versiones posteriores) y se ubica en android_sdk/tools/bin/.

Uso

Puedes usar el objeto sdkmanager para realizar las tareas que se mencionan a continuación.

Enumerar los paquetes instalados y disponibles

sdkmanager --list [options] \
           [--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)

Usa la opción channel para incluir un paquete de un canal hasta channel_id inclusive. Por ejemplo, especifica el canal Canary para enumerar los paquetes de todos los canales.

Instalar paquetes

sdkmanager packages [options]

El argumento packages es una ruta de acceso de estilo SDK como se muestra con el comando --list, encerrado entre comillas (por ejemplo, "build-tools;29.0.2" o "platforms;android-28"). Puedes pasar varias rutas de acceso de paquetes separadas por un espacio, pero cada una debe estar encerrada entre su propio par de comillas.

Por ejemplo, aquí se explica cómo instalar la versión más reciente de las herramientas de la plataforma (que incluye adb y fastboot) y las herramientas del SDK para el nivel de API 28:

sdkmanager "platform-tools" "platforms;android-28"

De manera alternativa, puedes pasar un archivo de texto que especifique todos los paquetes:

sdkmanager --package_file=package_file [options]

El argumento package_file es la ubicación de un archivo de texto en el que cada línea es una ruta de acceso de estilo SDK de un paquete para instalar (sin comillas).

Para desinstalarlo, simplemente agrega la marca --uninstall:

sdkmanager --uninstall packages [options]
sdkmanager --uninstall --package_file=package_file [options]

Para instalar CMake o el NDK, usa la siguiente sintaxis:

sdkmanager --install
           ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"]
           [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)

Por ejemplo, usa el siguiente comando para instalar la versión del NDK especificada independientemente del canal en el que se encuentre.

sdkmanager --install "ndk;21.3.6528147" --channel=3 // Install the NDK from the canary channel (or below)
sdkmanager --install "cmake;10.24988404" // Install a specific version of CMake

Actualizar todos los paquetes instalados

sdkmanager --update [options]

Opciones

En la siguiente tabla, se enumeran las opciones disponibles para los comandos anteriores.

Opción Descripción
--sdk_root=path Usa la ruta de acceso del SDK especificada en lugar del SDK que contiene esta herramienta.
--channel=channel_id Incluye paquetes en los canales hasta channel_id inclusive. Los canales disponibles son los siguientes:

0 (Estable), 1 (Beta), 2 (Para desarrolladores) y 3 (Canary).

--include_obsolete Incluye paquetes obsoletos en la lista de paquetes o actualizaciones de paquetes. Solo se puede usar con los elementos --list y --update.
--no_https Fuerza todas las conexiones para que usen HTTP en lugar de HTTPS.
--verbose Modo de salida detallado. Se imprimen errores, alertas y mensajes informativos.
--proxy={http | socks} Conéctate mediante un proxy del tipo específico: ya sea http para protocolos generales como HTTP o FTP, o socks para un proxy SOCKS (V4 o V5).
--proxy_host={IP_address | DNS_address} Corresponde a la dirección IP o DNS del proxy que se usará.
--proxy_port=port_number Corresponde al número de puerto de proxy al que se conectará.