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;36.0.0" или "platforms;android-36" .

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

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

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

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 (версия для разработчиков) и 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 Номер порта прокси-сервера для подключения.