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 de línea de comandos del SDK de Android.
Para usar SDK Manager e instalar una versión de las herramientas de línea de comandos, sigue estos pasos:
- Descarga el paquete de herramientas de línea de comandos más reciente de la página Android Studio y extráelo.
- Mueve el directorio
cmdline-tools
descomprimido a un directorio nuevo que elijas, como android_sdk. Este directorio nuevo es el directorio del SDK de Android. - En el directorio
cmdline-tools
descomprimido, crea un subdirectorio llamadolatest
. - Mueve el contenido original del directorio
cmdline-tools
, incluido el directoriolib
, el directoriobin
, el archivoNOTICE.txt
y el archivosource.properties
, al directoriolatest
que acabas de crear. Ahora puedes usar las herramientas de línea de comandos desde esta ubicación. (Opcional) Para instalar una versión anterior de las herramientas de línea de comandos, ejecuta el siguiente comando:
Reemplazaandroid_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
version
por la versión que deseas instalar, por ejemplo,5.0
.
Uso
Puedes usar sdkmanager
para enumerar los paquetes instalados y disponibles, instalarlos y actualizarlos. Para obtener más detalles, consulta las siguientes secciones.
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.
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
, encerrado 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 encerrada entre su propio conjunto de comillas. Por ejemplo, aquí se explica cómo instalar las herramientas de plataforma y las herramientas del SDK más recientes 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 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
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 instalado Android Studio, o si es para un servidor de CI o algún otro dispositivo Linux sin cabeza 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 hayas aceptado.
Opciones
En la siguiente tabla, se enumeran las opciones disponibles para los comandos que se indican 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 channel_id inclusive. Los canales disponibles son los siguientes:
|
--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 los paquetes nuevos o actualizables.
|
--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 bien 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á. |