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 usar esta herramienta y, en su lugar, puedes administrar tus paquetes de SDK desde el IDE.

La herramienta sdkmanager se proporciona en el paquete de herramientas de línea de comandos del SDK de Android. Si deseas usar SDK Manager para instalar una versión de las herramientas de línea de comandos, sigue estos pasos:

  1. Descarga el paquete más reciente de "solo herramientas de línea de comandos" de la página de descargas de Android Studio y descomprime el paquete.
  2. Mueve el directorio descomprimido cmdline-tools al directorio nuevo que desees, como android_sdk. Este nuevo directorio es el directorio del SDK de Android.
  3. En el directorio cmdline-tools descomprimido, crea un subdirectorio llamado latest.
  4. Mueve el contenido original del directorio cmdline-tools, incluido el directorio lib, el directorio bin, el archivo NOTICE.txt y el archivo source.properties, al directorio latest recién creado. Ahora puedes usar las herramientas de línea de comandos desde esta ubicación.
  5. Para instalar una versión anterior de las herramientas de línea de comandos, ejecuta el siguiente comando (opcional):

    android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
    
    Sustituye version por la versión que deseas instalar, por ejemplo, 5.0.

Uso

Puedes usar sdkmanager para mostrar una lista de los paquetes instalados y disponibles, así como para instalar y actualizar paquetes. Para obtener más detalles, consulta las siguientes secciones.

Cómo enumerar los paquetes instalados y disponibles

Para enumerar los paquetes instalados y disponibles, usa la siguiente sintaxis:

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.

Cómo instalar paquetes

Para instalar paquetes, usa la siguiente sintaxis:

sdkmanager packages [options]

El argumento packages es una ruta de acceso de estilo SDK, como se muestra con el comando --list, entre comillas. Por ejemplo, "build-tools;34.0.0" o "platforms;android-33".

Puedes pasar varias rutas de acceso de paquetes separadas por un espacio, pero cada una debe estar dentro de su propio conjunto de comillas. Por ejemplo, aquí se muestra cómo instalar las herramientas más recientes de la plataforma y las herramientas del SDK para el nivel de API 33:

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

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, 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 especificada del NDK, 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

Cómo actualizar todos los paquetes instalados

Para actualizar todos los paquetes instalados, usa la siguiente sintaxis:

sdkmanager --update [options]

Aceptar licencias

Debes aceptar la licencia necesaria para cada paquete que hayas instalado. Este paso se produce durante el flujo de instalación cuando instalas paquetes desde Android Studio.

Si no tienes Android Studio instalado o si es para un servidor de CI o para otro dispositivo Linux sin interfaz gráfica y sin una GUI instalada, haz lo siguiente desde la línea de comandos:

sdkmanager --licenses

Se te pedirá que aceptes las licencias que aún no se han aceptado.

Opciones

En la siguiente tabla, se enumeran las opciones disponibles para los comandos detallados en la sección anterior:

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 el id_canal 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.
--newer Con --list, muestra solo paquetes nuevos o actualizables.
--verbose Modo de salida detallado. Se imprimen errores, alertas y mensajes informativos.
--proxy={http | socks} Conéctate a través de un proxy del tipo determinado: ya sea http para protocolos de alto nivel, como HTTP o FTP, o socks para un proxy SOCKS (V4 o V5).
--proxy_host={IP_address | DNS_address} Dirección IP o DNS del proxy que se usará.
--proxy_port=port_number Número de puerto de proxy para conectarse.