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 здесь нет.
Как проверить и настроить язык в проекте
Язык проекта задаётся при его создании: в мастере New Project на шаге выбора конфигурации есть поле Language со значениями Kotlin и Java. Если проект уже создан, добавить второй язык можно без пересоздания — Kotlin и Java свободно смешиваются в одном модуле и вызывают код друг друга.
☑️ Проверка настройки языка в проекте
Для нативной разработки дополнительно потребуется установить компоненты через 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 без полной переработки.