sdkmanager

O sdkmanager é uma ferramenta de linha de comando que permite ver, instalar, atualizar e desinstalar pacotes do SDK do Android. Caso você esteja usando o Android Studio, não é necessário usar essa ferramenta. Em vez disso, você pode gerenciar seus pacotes de SDK pelo ambiente de desenvolvimento integrado.

A ferramenta sdkmanager é fornecida no pacote de Ferramentas do SDK do Android (25.2.3 e mais recentes). Para fazer a instalação, siga estas etapas:

  1. Faça o download do pacote na seção "Apenas ferramentas de linha de comando" na página de downloads do Android Studio.
  2. Descompacte o pacote e o mova para um diretório da sua escolha.
  3. Para instalar a versão mais recente do sdkmanager, execute o seguinte comando no diretório em que o pacote descompactado está:

    cmdline-tools/bin/sdkmanager --install "cmdline-tools;latest"
    

    Talvez seja necessário usar a sinalização --sdk_root para especificar o diretório em que ele será instalado, como android_sdk.

  4. O sdkmanager instalado está localizado em android_sdk/cmdline-tools/latest/bin/.

Uso

Você pode usar o sdkmanager para realizar as seguintes tarefas.

Listar pacotes instalados e disponíveis

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

Use a opção channel para incluir um pacote de um canal até (e incluindo) o channel_id. Por exemplo, especifique o canal canário para listar pacotes de todos os canais.

Instalar pacotes

sdkmanager packages [options]

O argumento packages é um caminho no estilo SDK, conforme mostrado com o comando --list, escrito entre aspas (por exemplo, "build-tools;30.0.2" ou "platforms;android-28"). É possível transmitir vários caminhos de pacotes, separados por um espaço, mas cada um precisa estar dentro do próprio conjunto de aspas.

Por exemplo, veja como instalar as ferramentas mais recentes da plataforma (que incluem adb e fastboot) e as Ferramentas do SDK para a API de nível 28:

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

Você tem a opção de transmitir um arquivo de texto que especifica todos os pacotes:

sdkmanager --package_file=package_file [options]

O argumento package_file é o local de um arquivo de texto em que cada linha é um caminho no estilo do SDK de um pacote a ser instalado (sem aspas).

Para desinstalar, basta adicionar a sinalização --uninstall:

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

Para instalar o CMake ou o NDK, use sintaxe a seguir:

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 exemplo, use o seguinte comando para instalar a versão especificada do NDK, independentemente do canal em que ele está no momento.

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

Atualizar todos os pacotes instalados

sdkmanager --update [options]

Opções

A tabela a seguir lista as opções disponíveis para os comandos acima.

Opção Descrição
--sdk_root=path Usa o caminho do SDK especificado, em vez daquele que contém essa ferramenta.
--channel=channel_id Incluir pacotes nos canais até e, incluindo, channel_id. Os canais disponíveis são:

0 (Estável), 1 (Beta), 2 (Dev) e 3 (Canary).

--include_obsolete Inclui pacotes obsoletos na listagem ou atualizações de pacotes. Para uso somente com --list e --update.
--no_https Força todas as conexões a usar HTTP, em vez de HTTPS.
--verbose Modo de saída detalhado. Erros, avisos e mensagens informativas são exibidos.
--proxy={http | socks} Conecta-se por um proxy do tipo fornecido: http para protocolos de alto nível, como HTTP ou FTP, ou socks para um proxy SOCKS (V4 ou V5).
--proxy_host={IP_address | DNS_address} Endereço IP ou DNS do proxy a ser usado.
--proxy_port=port_number Número da porta do proxy para se conectar.