O sdkmanager
é uma ferramenta de linha de comando que permite visualizar, 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 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:
- Faça o download do pacote de ferramentas de linha de comando mais recente na página Android Studio e extraia o pacote.
- 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. - No diretório
cmdline-tools
descompactado, crie um subdiretório chamadolatest
. - Mova o conteúdo do diretório
cmdline-tools
original, incluindo os diretórioslib
ebin
e os arquivosNOTICE.txt
esource.properties
para o diretóriolatest
recém-criado. Agora você pode usar as ferramentas de linha de comando desse local. (Opcional) Para instalar uma versão anterior das ferramentas de linha de comando, execute o comando abaixo:
Substituaandroid_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
version
pela versão que você quer instalar, por exemplo,5.0
.
Uso
É possível usar o sdkmanager
para listar pacotes instalados e disponíveis, instalar
e atualizar pacotes. Confira mais detalhes nas próximas seções.
Listar pacotes instalados e disponíveis
Para listar pacotes instalados e disponíveis, use esta sintaxe:
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) channel_id
. Por exemplo, especifique o canal canário para listar pacotes
de todos os canais.
Instalar pacotes
Para instalar pacotes, use esta sintaxe:
sdkmanager packages [options]
O argumento packages é um caminho no estilo do SDK, conforme mostrado com
o comando --list
, entre aspas. Por exemplo,
"build-tools;34.0.0"
ou
"platforms;android-33"
.
Você pode transmitir vários caminhos de pacotes separados por espaço, mas eles precisam estar entre os próprios conjuntos de aspas. Por exemplo, confira como instalar as ferramentas mais recentes da plataforma e as ferramentas do SDK na API de nível 33:
sdkmanager "platform-tools" "platforms;android-33"
Também é possível transmitir um arquivo de texto com todos os pacotes especificados:
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, adicione a sinalização --uninstall
:
sdkmanager --uninstall packages [options] sdkmanager --uninstall --package_file=package_file [options]
Para instalar o CMake ou o NDK, use esta sintaxe:
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 comando abaixo para instalar a versão especificada do NDK, independente 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
Para atualizar todos os pacotes instalados, use esta sintaxe:
sdkmanager --update [options]
Aceitar licenças
É preciso aceitar a licença necessária para cada pacote instalado. Essa etapa ocorre durante o fluxo de instalação quando você instala pacotes no Android Studio.
Se você não tiver o Android Studio instalado ou se ele for para um servidor de CI ou outro dispositivo Linux headless sem uma GUI instalada, digite isto na linha de comando:
sdkmanager --licenses
Esse comando solicita que você aceite as licenças que ainda não foram aceitas.
Opções
A tabela abaixo lista as opções disponíveis para os comandos mencionados na seção anterior:
Opção | Descrição |
---|---|
--sdk_root=path
|
Usa o caminho do SDK especificado, em vez daquele que contém essa ferramenta. |
--channel=channel_id
|
Inclui pacotes nos canais até channel_id (também incluído). Os canais
disponíveis são:
|
--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. |
--newer
|
Com --list , mostra apenas pacotes novos ou atualizáveis.
|
--verbose
|
Modo de saída detalhado. Erros, avisos e mensagens informativas são mostrados. |
--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. |