sdkmanager — это инструмент командной строки, позволяющий просматривать, устанавливать, обновлять и удалять пакеты для Android SDK. Если вы используете Android Studio, то этот инструмент вам не нужен, и вы можете управлять пакетами SDK из IDE .
Инструмент sdkmanager входит в состав пакета Android SDK Command-Line Tools . Чтобы установить версию инструментов командной строки с помощью SDK Manager, выполните следующие действия:
- Загрузите последнюю версию пакета инструментов командной строки со страницы Android Studio и распакуйте его.
- Переместите распакованную папку
cmdline-toolsв новую папку по вашему выбору, например, android_sdk . Эта новая папка будет вашей папкой с Android SDK. - В распакованной директории
cmdline-toolsсоздайте подкаталог с именемlatest. - Переместите исходное содержимое каталога
cmdline-tools, включая каталогиlib,bin, файлNOTICE.txtи файлsource.properties, в только что созданный каталогlatest. Теперь вы можете использовать инструменты командной строки из этого места. (Необязательно) Чтобы установить предыдущую версию инструментов командной строки, выполните следующую команду:
Замените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 включительно). Доступные каналы: |
--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 | Номер порта прокси-сервера для подключения. |