sdkmanager

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

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

A ferramenta sdkmanager é fornecida no pacote de Ferramentas de linha de comando do SDK do Android. Para usar o SDK Manager e instalar uma versão das ferramentas de linha de comando, siga estas etapas:

  1. Faça o download do pacote mais recente na seção "Apenas ferramentas de linha de comando" na página de downloads do Android Studio e descompacte o pacote.
  2. Mova o diretório cmdline-tools descompactado para um novo diretório de sua escolha, por exemplo, android_sdk. Esse novo diretório é seu diretório do SDK do Android.
  3. No diretório cmdline-tools descompactado, crie um subdiretório chamado latest.
  4. Mova o conteúdo do diretório cmdline-tools original, incluindo o diretório lib, o diretório bin, o arquivo NOTICE.txt e o arquivo source.properties para o diretório latest recém-criado. Agora você pode usar as ferramentas de linha de comando desse local.
  5. (Opcional) Para instalar uma versão anterior das ferramentas de linha de comando, execute o seguinte comando:

    android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
    
    Substitua version pela versão que você quer instalar, por exemplo, 5.0.

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.