Как пересобрать проект в Android Studio

Пересборка проекта в 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 — чек-лист

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

Способ 3: Invalidate Caches — когда проблема в самой IDE

Иногда проект собирается из терминала без ошибок, но Android Studio продолжает подсвечивать код красным и не видит классы. Это признак того, что повреждён кэш индексации самой среды, а не артефакты сборки.

В этом случае примените команду File → Invalidate Caches.... В открывшемся диалоге можно отметить дополнительные опции очистки, после чего IDE перезапустится и заново проиндексирует проект. Первая индексация после сброса может занять заметное время — это нормально.

⚠️ Внимание: после Invalidate Caches сбрасывается локальная история изменений файлов, которую ведёт IDE. Если вы полагались на Local History как на резервную копию, убедитесь, что важные изменения закоммичены в Git.
📊 Какой способ пересборки вы используете чаще всего?
Build → Rebuild Project в меню
Команды gradlew в терминале
Invalidate Caches и перезапуск
Просто перезапускаю Android Studio

Решение типичных проблем при пересборке

Если пересборка завершается ошибкой, текст в окне 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 ProjectClean ProjectRebuild 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.