Пересборка проекта в Android Studio чаще всего требуется, когда IDE продолжает подсвечивать ошибки, которых в коде уже нет, или когда изменения в файле build.gradle не подхватываются при обычном запуске. Стандартный способ — меню Build → Rebuild Project, но в зависимости от причины сбоя могут понадобиться дополнительные шаги: очистка кэша, сброс Gradle или инвалидация кэшей самой среды.
В этой инструкции разберём все рабочие способы пересборки — от простого Rebuild до полного сброса окружения Gradle. Материал подходит для актуальных версий Android Studio; точные названия пунктов меню могут незначительно отличаться в зависимости от версии IDE, поэтому ориентируйтесь на смысл действий.
Что такое пересборка проекта и когда она нужна
Сборка (build) в Android-проекте — это процесс, при котором Gradle компилирует исходный код, обрабатывает ресурсы, собирает зависимости и упаковывает всё в APK или AAB. Пересборка отличается от обычной сборки тем, что промежуточные артефакты предварительно удаляются — компиляция идёт «с нуля».
Типичные ситуации, когда без пересборки не обойтись:
- 🔴 IDE показывает устаревшие ошибки после исправления кода
- 📦 изменён файл
build.gradleилиsettings.gradle, но проект ведёт себя по-старому - 🧩 обновлена версия библиотеки, а классы из неё не находятся
- ⚙️ после переключения ветки Git сборка падает с непонятными ошибками
- 🗂️ повреждены файлы в папке
buildпосле прерванной сборки
⚠️ Внимание: пересборка не исправляет ошибки в самом коде. Если проект не собирается из-за синтаксической ошибки или отсутствующей зависимости, сначала устраните причину — иначе Rebuild завершится тем же сбоем.
Способ 1: Rebuild Project через меню Build
Самый простой и безопасный метод — штатная команда Rebuild Project. Она удаляет результаты предыдущей сборки и запускает полную компиляцию заново.
Порядок действий:
Build → Rebuild Project
После запуска в нижней части окна откроется вкладка Build Output, где виден прогресс. По завершении вы увидите либо сообщение BUILD SUCCESSFUL, либо список ошибок с указанием файлов и строк. Время пересборки зависит от размера проекта и мощности компьютера — крупные проекты могут собираться несколько минут.
Если нужна только очистка без последующей сборки, используйте команду Build → Clean Project. Она удаляет содержимое папок build во всех модулях, но ничего не компилирует. Часто связка Clean + Rebuild применяется последовательно, хотя Rebuild сам по себе уже включает очистку.
Способ 2: Пересборка через Gradle из терминала
Если графический интерфейс недоступен или нужен более тонкий контроль, используйте Gradle Wrapper из встроенного терминала Android Studio (вкладка Terminal внизу окна).
Команда полной пересборки на Windows:
gradlew clean build
На macOS и Linux:
./gradlew clean build
Команда clean удаляет артефакты сборки, а build запускает компиляцию и проверки. Если нужно собрать только отладочный APK без тестов, подойдёт вариант:
gradlew clean assembleDebug
Полезные дополнительные флаги Gradle:
- 🔄
--refresh-dependencies— принудительно перекачивает зависимости, игнорируя локальный кэш - 📋
--stacktrace— показывает подробный стек ошибки при сбое сборки - ⏱️
--offline— сборка без обращения к сети, только из локального кэша
☑️ Пересборка через Gradle — чек-лист
Способ 3: Invalidate Caches — когда проблема в самой IDE
Иногда проект собирается из терминала без ошибок, но Android Studio продолжает подсвечивать код красным и не видит классы. Это признак того, что повреждён кэш индексации самой среды, а не артефакты сборки.
В этом случае примените команду File → Invalidate Caches.... В открывшемся диалоге можно отметить дополнительные опции очистки, после чего IDE перезапустится и заново проиндексирует проект. Первая индексация после сброса может занять заметное время — это нормально.
⚠️ Внимание: после Invalidate Caches сбрасывается локальная история изменений файлов, которую ведёт IDE. Если вы полагались на Local History как на резервную копию, убедитесь, что важные изменения закоммичены в Git.
Решение типичных проблем при пересборке
Если пересборка завершается ошибкой, текст в окне Build Output — главный источник информации. Разберём частые сценарии.
Ошибка синхронизации Gradle. Появляется после изменения build.gradle. Попробуйте File → Sync Project with Gradle Files — часто этого достаточно, и полная пересборка не нужна. Также проверьте, что указанная в проекте версия Gradle совместима с вашей версией Android Studio: таблица совместимости публикуется в официальной документации Android Developers.
Не скачиваются зависимости. Проверьте подключение к интернету и блоки repositories в файлах build.gradle или settings.gradle — там должны быть объявлены репозитории, например google() и mavenCentral(). Если корпоративная сеть блокирует доступ, может понадобиться настройка прокси в File → Settings → Appearance & Behavior → System Settings → HTTP Proxy.
Ошибки после обновления IDE или плагина. Помогает последовательность: Sync Project → Clean Project → Rebuild Project → при неудаче Invalidate Caches. Идите от простого к сложному, не применяя всё сразу.
Сравнение способов пересборки
| Способ | Что делает | Когда применять |
|---|---|---|
| Sync Project with Gradle Files | Обновляет конфигурацию проекта по файлам Gradle | После правки build.gradle |
| Clean Project | Удаляет папки build | Перед ручной сборкой или для очистки места |
| Rebuild Project | Очистка + полная компиляция | Устаревшие артефакты, ошибки после pull из Git |
| gradlew clean build | То же из терминала, с гибкими флагами | CI/CD, автоматизация, диагностика |
| Invalidate Caches | Сброс кэшей индексации IDE | Код подсвечен красным при рабочей сборке |
Как видно из таблицы, инструменты решают разные задачи, и выбирать их стоит по симптому, а не «все подряд». Слепое применение всех способов разом удлиняет диагностику и не ускоряет решение.
Что делать, если ничего не помогло
Крайняя мера — удалить папки .gradle и .idea в корне проекта (при закрытой IDE), затем открыть проект заново через File → Open. Android Studio пересоздаст конфигурацию с нуля. Локальные настройки проекта при этом сбросятся, но исходный код не пострадает.
Как ускорить повторные сборки
Полная пересборка — ресурсоёмкая операция, и запускать её без необходимости не стоит. Для повседневной работы обычно достаточно инкрементальной сборки через Run ▶ или Build → Make Project — Gradle пересобирает только изменённые модули.
На скорость сборки влияют настройки в файле gradle.properties. Часто упоминаемые параметры — org.gradle.parallel=true (параллельная сборка модулей) и увеличение памяти демона Gradle через org.gradle.jvmargs. Однако оптимальные значения зависят от конфигурации компьютера и структуры проекта, поэтому меняйте их по одному и проверяйте эффект на своей машине.
Часто задаваемые вопросы
Чем Rebuild Project отличается от Clean Project?
Clean Project только удаляет папки build с результатами предыдущих сборок. Rebuild Project выполняет ту же очистку, а затем сразу запускает полную компиляцию проекта.
Нужно ли пересобирать проект после каждого изменения кода?
Нет. Для обычных правок достаточно инкрементальной сборки при запуске приложения. Rebuild оправдан при подозрении на повреждённые или устаревшие артефакты сборки.
Rebuild завершается ошибкой, хотя код правильный. Что делать?
Проверьте вывод в Build Output с флагом --stacktrace, выполните синхронизацию Gradle, затем Invalidate Caches. Если и это не помогает — удалите папки .gradle и .idea при закрытой IDE и откройте проект заново.
Можно ли пересобрать проект без запуска Android Studio?
Да. Из командной строки в папке проекта выполните gradlew clean build (Windows) или ./gradlew clean build (macOS/Linux) — Gradle Wrapper не требует запущенной IDE.
Удалит ли пересборка мой код или настройки?
Нет. Rebuild и Clean затрагивают только сгенерированные файлы в папках build. Исходный код не изменяется. Осторожность нужна лишь с Invalidate Caches — она сбрасывает локальную историю изменений IDE.