SDKManager

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

Инструмент sdkmanager входит в пакет инструментов командной строки Android SDK . Чтобы использовать 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 включительно. Например, укажите канареечный канал, чтобы получить список пакетов со всех каналов.

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

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

sdkmanager packages [options]

Аргумент packages — это путь в стиле SDK, как показано с помощью команды --list , заключенный в кавычки. Например, "build-tools;34.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 (Дев) и 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 Номер порта прокси для подключения.
,

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

Инструмент sdkmanager входит в пакет инструментов командной строки Android SDK . Чтобы использовать 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 включительно. Например, укажите канареечный канал, чтобы получить список пакетов со всех каналов.

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

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

sdkmanager packages [options]

Аргумент packages — это путь в стиле SDK, как показано с помощью команды --list , заключенный в кавычки. Например, "build-tools;34.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 (Дев) и 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 Номер порта прокси для подключения.