Как узнать, какой SDK установлен на компьютере

Команда dotnet --list-sdks или adb version, введённая в терминал, показывает установленную версию SDK за пару секунд — но только если инструмент прописан в переменной PATH, иначе система ответит ошибкой «не является внутренней или внешней командой». Именно с этой ошибкой чаще всего сталкиваются разработчики при попытке проверить окружение на новой машине или после переустановки системы.

Проблема в том, что единого способа проверки не существует: у каждого SDK своя команда, своё расположение на диске и свои переменные окружения. Ниже разберём, как определить версии самых распространённых SDK — Android SDK, .NET SDK, Java JDK и Flutter — через командную строку, IDE и файловую систему.

Что такое SDK и почему важно знать его версию

SDK (Software Development Kit) — это набор инструментов, библиотек и документации для разработки под конкретную платформу. В отличие от обычной программы, у SDK нет привычного окна «О программе», поэтому версию приходится выяснять обходными путями.

Знать установленную версию необходимо в нескольких ситуациях: при настройке нового проекта, где среда разработки требует конкретный релиз инструментария; при диагностике ошибок сборки, когда проект не компилируется именно из-за несовместимости версий; при установке дополнительных компонентов, которые привязаны к определённой ветке SDK. Также проверка нужна после обновлений — чтобы убедиться, что новая версия действительно встала в систему.

Проверка Android SDK

Для Android SDK есть несколько рабочих способов. Самый быстрый — через терминал. Откройте командную строку и выполните:

adb version

В ответ система выведет версию Android Debug Bridge и путь к platform-tools. Если нужна версия инструментов командной строки SDK, используйте команду sdkmanager --list_installed — она покажет все установленные пакеты: платформы, build-tools, system images.

Второй способ — через Android Studio. Откройте File → Settings → Languages & Frameworks → Android SDK (в новых версиях путь может немного отличаться). На вкладке SDK Platforms видны установленные версии Android API, а на вкладке SDK Tools — версии инструментов. Там же указан путь Android SDK Location, по которому можно проверить содержимое вручную в проводнике.

⚠️ Внимание: если команда adb не распознаётся, это не значит, что SDK не установлен. Скорее всего, папка platform-tools просто не добавлена в переменную PATH. Проверьте каталог SDK напрямую — обычно он находится в профиле пользователя, в папке AppData\Local\Android\Sdk на Windows.
📊 Какой SDK вам нужно проверить?
Android SDK
.NET SDK
Java JDK
Flutter или другой

Проверка .NET SDK

У платформы .NET проверка максимально прямолинейная. Откройте командную строку или PowerShell и введите:

dotnet --list-sdks

Команда выведет список всех установленных версий SDK с указанием путей установки — их может быть несколько одновременно, и это нормально. Если нужна только активная версия, которая будет использоваться по умолчанию, выполните dotnet --version.

Обратите внимание на различие двух сущностей: SDK включает компилятор и инструменты разработки, а Runtime — только среду выполнения. Посмотреть установленные рантаймы можно командой dotnet --list-runtimes. Если проект требует SDK, а установлен только Runtime, сборка не запустится.

Проверка Java JDK

Для Java стандартная проверка выглядит так:

java -version

javac -version

Первая команда показывает версию JRE (среды выполнения), вторая — версию компилятора, который входит только в JDK. Если java -version работает, а javac -version выдаёт ошибку, значит, установлена только среда выполнения без инструментов разработки — для компиляции проектов этого недостаточно.

Когда в системе стоит несколько версий Java, активную определяет переменная окружения JAVA_HOME и порядок записей в PATH. Проверить значение переменной в Windows можно командой echo %JAVA_HOME%, в Linux и macOS — echo $JAVA_HOME. Путь установки также подскажет команда where java (Windows) или which java (Linux/macOS).

Как переключаться между несколькими версиями JDK

На Windows нужно изменить значение JAVA_HOME и порядок путей в PATH в системных переменных окружения. На macOS есть утилита /usr/libexec/java_home, которая показывает все установленные JDK. В Linux удобно использовать механизм alternatives. После смены переменных перезапустите терминал и IDE.

Проверка Flutter и других SDK

В Flutter всё собрано в одной команде:

flutter --version

Она покажет версию фреймворка, канал (stable, beta), версию Dart и ревизию движка. Более детальную диагностику всего окружения даёт flutter doctor — утилита проверит Flutter, Android SDK, подключённые инструменты и сообщит, чего не хватает.

Для других SDK действует тот же принцип: у большинства инструментов есть флаг --version или -v. Например, node --version для Node.js, python --version для Python. Если флаг не сработал, загляните в официальную документацию конкретного SDK — там указана актуальная команда проверки.

Проверка через файловую систему и переменные окружения

Если терминал не помогает, версию можно определить вручную по каталогу установки. Многие SDK хранят компоненты в папках с номерами версий — например, build-tools Android SDK лежат в подкаталогах вида build-tools\34.0.0, а .NET SDK — в C:\Program Files\dotnet\sdk\ с подпапками по версиям.

Полезный набор действий для ручной диагностики:

  • 🔍 Откройте папку установки SDK и посмотрите имена подкаталогов — часто они содержат номер версии.
  • 🧭 Проверьте системные переменные окружения: ANDROID_HOME, JAVA_HOME, PATH — они указывают на активные установки.
  • 📄 Найдите файлы source.properties или аналогичные метаданные внутри каталогов SDK — в них прописана версия пакета.
  • 🖥️ Загляните в настройки IDE — среды разработки обычно показывают пути и версии используемых SDK.

☑️ Диагностика, если версия SDK не определяется

Выполнено: 0 / 5

Типичные проблемы при проверке версии

Чаще всего проверка заканчивается ошибкой «команда не найдена». Возможные причины: SDK не установлен, путь не прописан в PATH, либо терминал открыт до изменения переменных окружения и не подхватил новые значения. Решение — перезапустить терминал, а при необходимости и всю IDE.

Вторая типичная ситуация — конфликт нескольких версий. Система использует ту версию SDK, чей путь стоит выше в переменной PATH, поэтому вывод команды может не совпадать с тем, что видит ваша IDE. Сверяйте оба источника, если сборка ведёт себя неожиданно.

⚠️ Внимание: не удаляйте старые версии SDK, пока не убедитесь, что ни один проект на них не завязан. Некоторые проекты жёстко привязаны к конкретной версии инструментов — например, через файл global.json у .NET или настройки compileSdk у Android.

Сводная таблица команд проверки

SDKКоманда проверкиЧто показывает
Android SDKadb version, sdkmanager --list_installedВерсию ADB и список установленных пакетов
.NET SDKdotnet --list-sdksВсе установленные версии SDK с путями
Java JDKjavac -versionВерсию компилятора Java
Flutterflutter --version, flutter doctorВерсию Flutter, Dart и состояние окружения
Node.jsnode --versionВерсию платформы Node.js

Часто задаваемые вопросы

Команда выдаёт «не является внутренней или внешней командой» — SDK не установлен?

Не обязательно. Такая ошибка означает лишь, что система не нашла исполняемый файл по путям из PATH. Проверьте каталог установки SDK вручную и добавьте нужную папку в переменные окружения, затем перезапустите терминал.

Как узнать версию Android SDK без Android Studio?

Откройте каталог SDK (по умолчанию в профиле пользователя Windows это AppData\Local\Android\Sdk) и посмотрите подпапки platforms и build-tools — их имена соответствуют версиям. Либо запустите sdkmanager --list_installed из папки cmdline-tools.

Можно ли держать несколько версий SDK одновременно?

Да, для .NET, Java и Android SDK это штатная практика. Управление активной версией происходит через переменные окружения, порядок путей в PATH или конфигурационные файлы проекта.

Чем отличается SDK от Runtime при проверке версии?

SDK включает инструменты разработки и компилятор, Runtime — только среду выполнения готовых приложений. Команда dotnet --list-sdks и javac -version показывают именно инструментарий разработчика; если они не работают, а приложения запускаются, установлен только Runtime.

Почему IDE и терминал показывают разные версии SDK?

IDE может использовать собственный путь к SDK, заданный в её настройках, а терминал опирается на PATH. Сверьте путь в настройках среды разработки с выводом команды проверки и при необходимости приведите их к одной установке.