SDKManager

sdkmanager — это инструмент командной строки, позволяющий просматривать, устанавливать, обновлять и удалять пакеты Android SDK. Если вы используете Android Studio, этот инструмент вам не нужен. Вы можете управлять пакетами SDK из IDE .

Инструмент sdkmanager входит в пакет Android SDK Command-Line Tools . Чтобы использовать SDK Manager для установки версии инструментов командной строки, выполните следующие действия:

  1. Загрузите последний пакет инструментов командной строки со страницы Android Studio и распакуйте его.
  2. Переместите распакованный каталог cmdline-tools в новый каталог по вашему выбору, например, android_sdk . Этот новый каталог будет каталогом Android SDK.
  3. В распакованном каталоге cmdline-tools создайте подкаталог с именем latest .
  4. Переместите исходное содержимое каталога cmdline-tools , включая каталоги lib bin , файлы NOTICE.txt и source.properties , в latest каталог. Теперь вы можете использовать инструменты командной строки из этого каталога.
  5. (Необязательно) Чтобы установить предыдущую версию инструментов командной строки, выполните следующую команду:

    android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
    
    Замените version на ту версию, которую вы хотите установить, например 5.0 .

Использование

Вы можете использовать sdkmanager для просмотра списка установленных и доступных пакетов, их установки и обновления. Подробнее см. в следующих разделах.

Список установленных и доступных пакетов

Чтобы вывести список установленных и доступных пакетов, используйте следующий синтаксис:

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

Используйте параметр channel , чтобы включить пакеты из каналов до channel_id включительно. Например, укажите канал canary, чтобы вывести список пакетов со всех каналов.

Установить пакеты

Для установки пакетов используйте следующий синтаксис:

sdkmanager packages [options]

Аргумент packages — это путь в стиле SDK, как показано в команде --list , заключённый в кавычки. Например, "build-tools;35.0.0" или "platforms;android-33" .

Вы можете указать несколько путей к пакетам, разделив их пробелом, но каждый из них должен быть заключен в кавычки. Например, вот как установить последние инструменты платформы и инструменты SDK для API уровня 33:

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

В качестве альтернативы вы можете передать текстовый файл, в котором указаны все пакеты:

sdkmanager --package_file=package_file [options]

Аргумент package_file — это расположение текстового файла, в котором каждая строка представляет собой путь в стиле SDK к пакету для установки (без кавычек).

Для удаления добавьте флаг --uninstall :

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

Чтобы установить CMake или NDK, используйте следующий синтаксис:

sdkmanager --install
           ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"]
           [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)

Например, используйте следующую команду для установки указанной версии NDK независимо от того, на каком канале она в данный момент находится:

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

Обновить все установленные пакеты

Чтобы обновить все установленные пакеты, используйте следующий синтаксис:

sdkmanager --update [options]

Принимать лицензии

Вам необходимо принять условия лицензии для каждого установленного вами пакета. Этот шаг выполняется в процессе установки пакетов из Android Studio.

Если у вас не установлен Android Studio или он предназначен для CI-сервера или другого безэкранного устройства Linux без установленного графического интерфейса, выполните следующие действия из командной строки:

sdkmanager --licenses

Это предложит вам принять все лицензии, которые еще не были приняты.

Параметры

В следующей таблице перечислены доступные параметры для команд, перечисленных в предыдущем разделе:

Вариант Описание
--sdk_root= path Используйте указанный путь SDK вместо SDK, содержащего этот инструмент.
--channel= channel_id Включить пакеты в каналы до идентификатора канала (channel_id) включительно. Доступные каналы:

0 (Стабильная), 1 (Бета), 2 (Dev) и 3 (Канарская).

--include_obsolete Включать устаревшие пакеты в список пакетов или обновления пакетов. Только с опциями --list и --update .
--no_https Принудительно перевести все соединения на протокол HTTP вместо HTTPS.
--newer С помощью --list показывать только новые или обновляемые пакеты.
--verbose Режим подробного вывода. Выводятся ошибки, предупреждения и информационные сообщения.
--proxy={http | socks} Подключитесь через прокси-сервер заданного типа: либо http для высокоуровневых протоколов, таких как HTTP или FTP, либо socks для прокси SOCKS (V4 или V5).
--proxy_host={ IP_address | DNS_address } IP или DNS-адрес используемого прокси-сервера.
--proxy_port= port_number Номер порта прокси-сервера для подключения.