Ошибка «No module» в Android Studio проявляется конкретным образом: в выпадающем списке конфигурации запуска в поле Module вместо имени модуля (обычно app) отображается красная надпись «no module», а кнопка запуска становится неактивной. Проект при этом может быть открыт нормально, код — подсвечиваться, но собрать и запустить приложение невозможно, потому что IDE не понимает, какой модуль нужно компилировать.
Причина почти всегда связана не с кодом приложения, а с тем, как Gradle и сама среда видят структуру проекта: модуль не подключен в settings.gradle, синхронизация завершилась с ошибкой, повреждён кэш IDE или конфигурация запуска «потеряла» привязку после обновления Android Studio. Ниже разберём проверки от простых к более глубоким — в том порядке, в котором их разумно выполнять.
Что означает «No module» и когда она появляется
Android Studio строит модель проекта на основе файлов Gradle: корневой settings.gradle (или settings.gradle.kts) перечисляет модули, а build.gradle каждого модуля описывает его сборку. Конфигурация запуска Android App ссылается на конкретный модуль из этой модели. Если модель не загрузилась или модуль из неё исчез, поле Module остаётся пустым — отсюда и «no module».
Типичные ситуации, в которых возникает проблема:
- 🔄 Проект только что открыт, а синхронизация Gradle ещё не завершилась или завершилась с ошибкой.
- 📦 Проект склонирован из репозитория, и локальные настройки (
local.properties, путь к SDK) не настроены. - 🧩 В
settings.gradleотсутствует строка подключения модуля, напримерinclude ':app'. - ⬆️ Android Studio или плагин Android Gradle обновились, и старая конфигурация запуска стала несовместимой.
- 🗂️ Модуль был переименован или перемещён, а ссылки на него остались старыми.
Короткая диагностика: откройте вкладку Build внизу окна. Если там есть ошибки синхронизации — начинайте с них, а не с конфигурации запуска.
Шаг 1. Проверьте синхронизацию Gradle
Самая частая причина — незавершённая или упавшая синхронизация. Пока Gradle не построил модель проекта, список модулей пуст по определению. Посмотрите на строку состояния внизу окна: если там идёт процесс Gradle Sync, просто дождитесь окончания.
Если синхронизация завершилась с ошибкой, принудительно запустите её заново через меню File → Sync Project with Gradle Files или кнопкой с иконкой слона в панели инструментов. Перед этим убедитесь, что в local.properties корректно указан путь к Android SDK, а в настройках File → Settings → Build, Execution, Deployment → Gradle выбрана подходящая версия JDK.
⚠️ Внимание: если синхронизация падает с ошибкой, текст этой ошибки в окне Build — первичный источник информации. Не пытайтесь чинить конфигурацию запуска, пока Gradle не собирает модель проекта: сначала устраните причину сбоя синхронизации.
Шаг 2. Проверьте settings.gradle и структуру модулей
Откройте файл settings.gradle в корне проекта и проверьте, что модуль приложения там объявлен. Для стандартного проекта строка выглядит так:
include ':app'
Если модуль называется иначе или лежит во вложенной папке, путь указывается через двоеточие, например include ':features:login'. Также проверьте, что папка модуля физически существует и содержит собственный build.gradle с применённым плагином (com.android.application для приложения или com.android.library для библиотеки).
После любых правок settings.gradle обязательно выполните повторную синхронизацию — без неё изменения не попадут в модель проекта, и список модулей не обновится.
Шаг 3. Пересоздайте конфигурацию запуска
Иногда модель проекта в порядке, а «сломалась» сама конфигурация Run/Debug — она хранится в файлах внутри папки .idea и может потерять привязку к модулю после обновлений IDE. В этом случае проще создать конфигурацию заново, чем чинить старую.
Порядок действий:
- 🛠️ Откройте
Run → Edit Configurations. - 🗑️ Удалите конфигурацию, в которой отображается «no module» (кнопка с минусом).
- ➕ Нажмите плюс и выберите Android App.
- 📱 В поле Module выберите ваш модуль, например
app, и сохраните конфигурацию.
Если в поле Module список по-прежнему пуст — значит, проблема не в конфигурации, а в модели проекта: возвращайтесь к проверке синхронизации и settings.gradle.
☑️ Чек-лист восстановления конфигурации запуска
Шаг 4. Очистите кэш IDE
Когда структура проекта корректна, а среда продолжает «не видеть» модуль, вероятный виновник — повреждённый кэш индексов Android Studio. Это случается после аварийного завершения работы IDE, обновлений или конфликтов версий.
Используйте штатный механизм: File → Invalidate Caches..., отметьте доступные опции очистки и подтвердите перезапуск. После перезапуска среда заново проиндексирует проект и выполнит синхронизацию — это занимает время, но часто снимает проблему целиком.
⚠️ Внимание: не удаляйте вручную папки
.ideaи.gradleвнутри проекта, пока не попробовали штатную очистку кэша. Ручное удаление — крайняя мера: вместе с кэшем вы потеряете локальные настройки проекта, и восстановить их придётся заново.
Шаг 5. Проверьте версии Gradle и плагина
Несовместимость версий Android Gradle Plugin, Gradle и самой Android Studio — ещё один источник проблем с моделью проекта. Версия плагина задаётся в корневом build.gradle, версия Gradle — в файле gradle/wrapper/gradle-wrapper.properties в строке distributionUrl.
Проверьте, что используемые версии совместимы между собой — таблица соответствия публикуется в официальной документации Android-разработчика. Если проект старый, а Android Studio новая, среда обычно сама предлагает обновить плагин через диалог Android Gradle Plugin Upgrade Assistant; соглашаться стоит осознанно, понимая, что обновление может потребовать правок в скриптах сборки.
Как понять, что проблема именно в версиях
Характерный признак — синхронизация падает с ошибками вида «Minimum supported Gradle version is...» или «This version of the Android Support plugin...». В этом случае читайте текст ошибки дословно: в нём указано, какая версия требуется, и нужно привести gradle-wrapper.properties или версию плагина в соответствие.
Сводная таблица причин и решений
| Причина | Как распознать | Решение |
|---|---|---|
| Незавершённая или упавшая синхронизация | Ошибки в окне Build, пустой список модулей | Устранить ошибку, повторить Sync Project with Gradle Files |
| Модуль не подключен в settings.gradle | Папка модуля есть, но в модели проекта её нет | Добавить include ':модуль' и синхронизировать |
| Сломанная конфигурация запуска | Модули видны, но в конфигурации «no module» | Удалить и создать конфигурацию Android App заново |
| Повреждённый кэш IDE | Структура корректна, но среда «не видит» модуль | File → Invalidate Caches с перезапуском |
| Несовместимость версий Gradle и плагина | Ошибки о версиях при синхронизации | Привести версии в соответствие по официальной таблице |
Что делать, если ничего не помогло
Если все шаги выполнены, а модуль по-прежнему не определяется, проверьте крайний сценарий: создайте новый пустой проект через мастер Android Studio и убедитесь, что там конфигурация запуска работает. Если в новом проекте всё в порядке — проблема точно в файлах вашего проекта, и имеет смысл сравнить его settings.gradle и build.gradle со свежесозданными.
Дополнительно полезно собрать проект из командной строки, минуя IDE:
./gradlew assembleDebug
Если сборка из терминала проходит успешно, значит, Gradle-конфигурация исправна, и искать причину нужно в настройках самой среды (кэш, конфигурация запуска). Если падает и терминальная сборка — проблема в скриптах сборки, и текст ошибки в консоли укажет направление.
Частые вопросы
Почему в списке Module пусто, хотя папка app есть в проекте?
Наличие папки недостаточно: модуль должен быть объявлен в settings.gradle через include ':app' и успешно загружен при синхронизации Gradle. Проверьте оба условия и повторите синхронизацию.
Поможет ли переустановка Android Studio?
Как правило, нет: проблема «no module» почти всегда находится на уровне проекта (скрипты Gradle, кэш, конфигурация запуска), а не самой IDE. Сначала выполните шаги из этой статьи — переустановка имеет смысл только при явных сбоях самой среды.
Ошибка появилась после обновления Android Studio. Что делать?
Обновление может сделать старую конфигурацию запуска несовместимой или выявить несоответствие версий Gradle-плагина. Начните с пересоздания конфигурации запуска, затем проверьте совместимость версий плагина и Gradle.
Можно ли запустить приложение без конфигурации запуска?
Да, как временная проверка подойдёт сборка и установка через Gradle-задачи (например, installDebug) или запуск из терминала. Но для полноценной отладки рабочую конфигурацию Android App всё равно нужно восстановить.
Влияет ли «no module» на сам код приложения?
Нет, это проблема конфигурации среды и сборки, а не исходного кода. Код остаётся нетронутым; как только модель проекта загрузится корректно и модуль будет выбран в конфигурации, запуск заработает без правок в коде.