Android Studio: какие языки программирования поддерживает среда разработки

Android Studio поддерживает язык программирования Kotlin как официально рекомендуемый для разработки под Android, а также Java, C++, C и — через плагины — Dart, Groovy и ряд других. Если при создании проекта в мастере New Project вы не видите нужного языка в выпадающем списке, причина почти всегда в отсутствии соответствующего плагина или в выбранном шаблоне, а не в ограничениях самой среды.

Ниже разберём, какие языки доступны «из коробки», какие подключаются отдельно, чем они отличаются по назначению и как проверить, что среда настроена под выбранный язык правильно. Это поможет избежать типичной ошибки новичков — попытки писать код на языке, который в текущей конфигурации проекта просто не компилируется.

Официально поддерживаемые языки

Google официально поддерживает в Android Studio два языка для написания Android-приложений: Kotlin и Java. Оба компилируются в байт-код для виртуальной машины Android Runtime (ART) и имеют полный доступ к Android SDK. С 2019 года Kotlin объявлен приоритетным языком: новые примеры документации, библиотеки Jetpack и инструменты в первую очередь ориентируются на него.

Третий официальный вариант — C/C++ через Android NDK (Native Development Kit). Этот набор инструментов нужен там, где критична производительность: игровые движки, обработка аудио и видео, перенос существующих нативных библиотек. Писать всё приложение целиком на C++ технически возможно, но на практике нативный код обычно используют для отдельных модулей, а интерфейс и логику оставляют на Kotlin или Java.

Стоит понимать различие: Kotlin и Java — языки для всего приложения, а C++ — инструмент для ускорения отдельных его частей. Выбирать C++ как единственный язык первого проекта без опыта нативной разработки — путь к лишним сложностям с отладкой и сборкой.

Языки, доступные через плагины

Android Studio построена на базе IntelliJ IDEA, поэтому наследует её расширяемость. Через репозиторий плагинов можно добавить поддержку дополнительных языков. Откройте File → Settings → Plugins (на macOS — Android Studio → Settings → Plugins) и поищите нужный язык на вкладке Marketplace.

  • 🎯 Dart — ставится вместе с плагином Flutter для кроссплатформенной разработки; подсветка, автодополнение и отладка работают после установки SDK Flutter.
  • 🔧 Groovy — поддерживается по умолчанию, так как на нём пишутся файлы сборки build.gradle; для новых проектов Google переводит скрипты на Kotlin DSL.
  • 🐍 Python — доступен через сторонние плагины, но полноценного Android-приложения на нём в Android Studio не собрать; годится для вспомогательных скриптов.
  • 🌐 JavaScript/TypeScript — базовая поддержка есть для веб-контента внутри WebView и гибридных решений.
⚠️ Внимание: наличие плагина для языка не означает, что на нём можно собрать Android-приложение. Плагин даёт подсветку синтаксиса и автодополнение, но компиляция в APK или AAB возможна только для языков, поддерживаемых Android-инструментариям сборки.

Сравнение языков по назначению

Выбор языка зависит от задачи. Коротко: новый проект под Android разумно начинать на Kotlin, поддержка легаси-кода часто требует Java, а узкие места по производительности закрываются нативным кодом.

ЯзыкСтатус в Android StudioТипичное применение
KotlinОфициальный, приоритетныйНовые приложения, Jetpack Compose
JavaОфициальныйLegacy-проекты, корпоративный код
C/C++Через NDKИгры, аудио/видео, нативные библиотеки
DartПлагин FlutterКроссплатформенные приложения
GroovyВстроенная поддержкаСкрипты сборки Gradle

Обратите внимание на Jetpack Compose — современный инструментарий интерфейсов Google. Он работает только на Kotlin, и это весомый аргумент при выборе языка для нового проекта. Если планируете декларативный UI без XML-разметки, альтернативы Kotlin здесь нет.

📊 На каком языке вы пишете или планируете писать под Android?
Kotlin
Java
C++ через NDK
Dart (Flutter)

Как проверить и настроить язык в проекте

Язык проекта задаётся при его создании: в мастере New Project на шаге выбора конфигурации есть поле Language со значениями Kotlin и Java. Если проект уже создан, добавить второй язык можно без пересоздания — Kotlin и Java свободно смешиваются в одном модуле и вызывают код друг друга.

☑️ Проверка настройки языка в проекте

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

Для нативной разработки дополнительно потребуется установить компоненты через Tools → SDK Manager → вкладка SDK Tools: сам NDK и CMake. Без них проект с C++-модулем не соберётся, а в логе Gradle появится ошибка об отсутствующей цепочке инструментов.

⚠️ Внимание: версии NDK несовместимы между собой по умолчанию — проект может требовать конкретную версию, указанную в build.gradle через параметр android.ndkVersion. Если сборка падает после обновления среды, первым делом сверьте эту настройку с требованиями проекта.

Какой язык выбрать новичку

Для первого Android-проекта рациональный выбор — Kotlin. Он лаконичнее Java, защищает от целого класса ошибок с null-значениями на уровне компилятора и является языком всех актуальных учебных материалов Google. Порог входа ниже, а перспективы в экосистеме — шире.

Java имеет смысл учить, если вы планируете работать с существующей кодовой базой: значительная часть корпоративных и старых open-source проектов написана именно на ней. Хорошая новость в том, что знание одного из этих языков почти бесплатно даёт понимание второго — синтаксис и концепции близки, а интероперабельность между ними полная.

Можно ли конвертировать Java-код в Kotlin автоматически?

Да, в Android Studio есть встроенный конвертер: откройте Java-файл и выберите Code → Convert Java File to Kotlin File. Конвертация рабочая, но результат часто требует ручной доработки — автоматически сгенерированный код бывает избыточным и не использует идиомы Kotlin.

А вот начинать с C++ ради «максимальной производительности» — распространённая ошибка. Для типичного приложения с формами, списками и сетевыми запросами разницы в скорости с Kotlin вы не заметите, а сложность разработки и отладки вырастет в разы.

Типичные проблемы с языками и их решения

Самая частая жалоба — «Android Studio не видит Kotlin» или «код подсвечивается красным». Возможные причины: не применён плагин Kotlin в build.gradle, не выполнена синхронизация Gradle после изменения конфигурации или повреждён кэш среды. Порядок проверки: сначала Sync Now в панели уведомлений, затем при неудаче File → Invalidate Caches → Invalidate and Restart.

Вторая типичная ситуация — ошибки вида «Unresolved reference» в смешанном проекте. Обычно это означает, что Kotlin-файл лежит в каталоге, не отмеченном как исходный код, либо модуль собран только под Java. Проверьте блок sourceSets в конфигурации сборки и убедитесь, что каталог src/main/kotlin (или java) включён в источники.

⚠️ Внимание: обновление плагина Android Gradle без обновления версии Kotlin (и наоборот) — частый источник конфликтов сборки. Меняйте версии инструментов по одной и после каждого изменения выполняйте полную сборку, чтобы локализовать проблему.

FAQ: частые вопросы о языках в Android Studio

Можно ли писать приложения для Android на Python в Android Studio?

Полноценно — нет. Android Studio не компилирует Python в Android-приложения. Существуют сторонние фреймворки вроде Kivy или BeeWare, но они работают вне Android Studio и имеют свои ограничения. Для нативной Android-разработки используйте Kotlin или Java.

Нужно ли знать Java, чтобы изучать Kotlin для Android?

Нет, это не обязательно. Kotlin — самостоятельный язык, и его можно изучать первым. Знакомство с Java поможет при чтении старого кода, но для старта в Android-разработке достаточно одного Kotlin.

Почему в новом проекте файлы build.gradle написаны на Kotlin, а не на Groovy?

Свежие версии Android Studio по умолчанию создают проекты с Kotlin DSL — файлами build.gradle.kts. Это тот же Kotlin, применённый к скриптам сборки. Старый формат на Groovy остаётся полностью рабочим, выбор между ними есть при создании проекта.

Поддерживает ли Android Studio Flutter и Dart?

Да, через официальные плагины Flutter и Dart из репозитория JetBrains. После их установки и указания пути к Flutter SDK в настройках появляются шаблоны Flutter-проектов, автодополнение Dart и горячая перезагрузка.

Можно ли смешивать Kotlin и Java в одном проекте?

Да, это полностью поддерживаемый сценарий. Классы на Kotlin и Java в одном модуле видят друг друга, поэтому проект можно постепенно переводить с Java на Kotlin без полной переработки.