
В Android Studio каждый проект при сборке создает APK-файл, который является готовым пакетом для установки на устройство. По умолчанию сгенерированные APK сохраняются в папке app/build/outputs/apk внутри каталога проекта. Структура папки разделена по типу сборки: debug и release, что позволяет быстро находить нужный вариант для тестирования или публикации.
Для разработчиков, работающих с несколькими модулями, важно учитывать, что каждый модуль имеет собственный путь к APK. Например, для модуля library файлы будут располагаться в library/build/outputs/apk. Это упрощает автоматизацию сборки и интеграцию с внешними инструментами, такими как Gradle или CI/CD системы.
При использовании кастомных конфигураций сборки путь к APK может отличаться. Настройка build.gradle позволяет указать конкретное место сохранения файлов, включая подкаталоги для разных версий и архитектур. Это особенно полезно для проектов с поддержкой нескольких ABI или с включенными ProGuard и R8 оптимизациями.
Знание точного местоположения APK упрощает ручную установку на устройства через ADB, тестирование на эмуляторах и подготовку пакетов к публикации. Рекомендуется проверять наличие файлов после каждой сборки и использовать встроенные средства Android Studio для открытия папки с результатами без поиска по файловой системе.
Где Android Studio сохраняет apk после сборки
После завершения сборки проекта Android Studio создает APK-файл в каталоге модуля приложения. По умолчанию путь выглядит следующим образом:
Проект/app/build/outputs/apk/
Внутри папки apk создаются подкаталоги в зависимости от типа сборки:
debug– для отладочных сборокrelease– для релизных сборок
Каждый APK получает имя, соответствующее конфигурации сборки, например app-debug.apk или app-release.apk.
Для удобства Android Studio предоставляет инструмент Build > Locate APK, который открывает папку с готовым файлом. Это позволяет избежать ручного поиска.
Если проект использует несколько flavor’ов, структура расширяется:
app/build/outputs/apk// /app- - .apk
При необходимости путь к APK можно изменить в файле build.gradle, используя параметр destinationDir внутри блока android.applicationVariants.all {}. Это полезно для организации сборок по отдельным папкам или автоматической интеграции с CI/CD.
Различия пути для debug и release сборок

В Android Studio debug и release сборки сохраняются в разных каталогах проекта. Для debug-сборок APK формируется в папке app/build/outputs/apk/debug. Имя файла обычно включает название модуля и суффикс debug, например app-debug.apk. Эти сборки подписываются автоматически тестовым ключом, поэтому их можно быстро устанавливать на устройства для отладки.
Release-сборки создаются в каталоге app/build/outputs/apk/release. Файл APK получает суффикс release, например app-release.apk. Такие сборки требуют ручного или настроенного в Gradle ключа подписи, так как предназначены для публикации в Google Play или распространения пользователям. Кроме того, release-APK может проходить оптимизацию через ProGuard или R8, что изменяет структуру и размер файла по сравнению с debug-версией.
При работе с Android Studio важно не путать эти пути. Если необходимо тестировать релизную версию на устройстве перед публикацией, следует использовать именно release-путь и убедиться в корректности подписи. Для быстрой установки и отладки предпочтительнее использовать debug-путь, поскольку он не требует дополнительных действий с ключами.
Откройте app/build.gradle и в блоке android добавьте секцию applicationVariants.all. Например:
android.applicationVariants.all { variant -> variant.outputs.all { output -> output.outputFileName = "custom_dir/${variant.name}.apk" } }
Здесь custom_dir – это путь относительно корня модуля, куда будет сохраняться APK. Папку можно создать заранее, чтобы избежать ошибок сборки.
Для Gradle версии 7 и выше синтаксис немного отличается. Следует использовать variant.outputs.each { output -> output.outputFileName = "custom_dir/${variant.name}.apk" }, чтобы корректно переименовать и переместить APK.
После внесения изменений выполните сборку проекта через Build > Build Bundle(s) / APK(s) > Build APK(s). Новый путь будет применён к соответствующим сборкам: debug или release.
Если нужно отдельное расположение для debug и release, можно проверять variant.buildType.name и задавать разные папки:
if (variant.buildType.name == "release") { output.outputFileName = "release_apk/${variant.name}.apk" } else { output.outputFileName = "debug_apk/${variant.name}.apk" }
После этих настроек APK будет сохраняться в указанной директории без необходимости перемещать файлы вручную.
Поиск apk через окно Build в Android Studio
После сборки проекта apk-файл можно найти напрямую через окно Build. Для этого откройте меню Build в верхней панели Android Studio и выберите Build Bundle(s) / APK(s) → Build APK(s).
Когда сборка завершится, в нижней части экрана появится уведомление с кнопкой Locate. Нажатие на неё откроет проводник с расположением скомпилированного apk.
По умолчанию Android Studio сохраняет apk для debug-сборки в папке app/build/outputs/apk/debug/, а для release-сборки – в app/build/outputs/apk/release/. Уведомление в окне Build позволяет сразу перейти к нужной версии без ручного поиска.
Окно Build отображает подробный лог сборки, включая путь к apk. Если требуется найти apk для конкретного flavor или variant, выбирайте соответствующий вариант в выпадающем списке сборок перед запуском Build APK(s).
Использование окна Build удобно для быстрого доступа к apk без необходимости перехода в файловую систему проекта вручную. Оно гарантирует, что вы откроете именно ту сборку, которая была создана последней.
Использование Gradle для определения местоположения apk

Gradle предоставляет точный механизм для управления процессом сборки и позволяет определить директорию, в которой будут сохраняться apk файлы. По умолчанию, Android Studio использует структуру проекта для размещения выходных артефактов.
Чтобы узнать путь к apk через Gradle, выполните следующие шаги:
- Откройте файл
build.gradleуровня модуля (обычноapp/build.gradle). - Внутри блока
androidпроверьте разделbuildTypes, где задаются настройки дляdebugиreleaseсборок.
android.applicationVariants.all { variant -> variant.outputs.all { output -> println(output.outputFile) } }
После выполнения сборки в консоли Gradle будет выведен путь к каждому apk, включая варианты сборки и архитектуры.
android.applicationVariants.all { variant ->
variant.outputs.all { output ->
def newName = "${variant.name}-${variant.versionName}.apk"
output.outputFileName = newName
}
}
Это позволяет не только контролировать имя файла, но и задать пользовательскую папку через полные пути в outputFileName или через buildDir.
Использование Gradle обеспечивает точный контроль над местоположением и именами apk, особенно полезно при автоматизации сборок, CI/CD процессах и мультиверсии приложений.
Где хранятся apk при сборке с помощью командной строки

При сборке проекта Android через командную строку используется Gradle. Основная команда для сборки APK выглядит так: ./gradlew assembleDebug или ./gradlew assembleRelease. По завершении сборки Gradle сохраняет APK в каталоге модуля проекта.
Стандартный путь для APK: путь_к_проекту/app/build/outputs/apk/. Внутри каталога apk находятся подкаталоги для каждой сборки: debug и release. В них содержатся соответствующие файлы APK, например: app-debug.apk или app-release.apk.
При использовании кастомных имен или flavor’ов пути могут изменяться. Например, для flavor free и типа сборки release путь будет: app/build/outputs/apk/free/release/app-free-release.apk.
| android.applicationVariants.all { variant -> |
| variant.outputs.all { output -> |
| output.outputFileName = «путь_к_новой_папке/${output.name}.apk» |
| } |
| } |
После внесения таких изменений APK будут сохраняться в указанной папке вместо стандартного каталога build/outputs/apk. Это особенно удобно для автоматизации сборки и интеграции с системами CI/CD.
Проверка существующих apk в папке проекта
Для проверки наличия apk в проекте Android Studio откройте директорию app/build/outputs/apk. Внутри находятся подпапки, соответствующие типам сборки: debug и release.
В каждой папке сборки ищите файлы с расширением .apk. Название файла обычно формируется по шаблону app-<тип сборки>.apk, например app-debug.apk или app-release.apk. Размер файла и дата изменения помогут определить актуальность сборки.
Для быстрой проверки используйте проводник системы или терминал. В терминале Linux/Mac команда ls app/build/outputs/apk/** покажет все существующие apk, а на Windows можно использовать dir app\build\outputs\apk\*.
Если apk отсутствует, убедитесь, что проект был собран через Build → Build Bundle(s) / APK(s) → Build APK(s) в Android Studio или выполнена соответствующая команда Gradle.
Регулярная проверка папки помогает контролировать актуальные сборки и предотвращает использование устаревших apk при тестировании или публикации.
Вопрос-ответ:
Где находятся apk файлы после сборки проекта в Android Studio?
После сборки проекта Android Studio сохраняет apk файлы в папке модуля проекта, обычно по пути app/build/outputs/apk/. Внутри этой папки есть подкатегории для типов сборки, таких как debug и release, где находятся соответствующие apk.
Можно ли изменить путь, куда Android Studio сохраняет apk?
Да, путь вывода можно изменить через файл build.gradle модуля. Например, добавив в блок android настройку applicationVariants.all { variant -> variant.outputs.all { outputFileName = "my_app.apk" } }, вы можете указать собственную директорию или имя файла apk.
Как найти apk через окно Build в Android Studio?
Откройте окно Build в Android Studio, затем выберите Build > Build Bundle(s) / APK(s) > Build APK(s). После завершения сборки внизу появится ссылка Locate, нажав на которую, откроется папка с apk. Это позволяет быстро перейти к нужному файлу без ручного поиска по структуре проекта.
Почему пути для debug и release apk отличаются?
Debug и release сборки имеют разные конфигурации. Debug предназначен для тестирования, поэтому Android Studio сохраняет его в app/build/outputs/apk/debug/. Release-сборка подписывается для публикации и обычно оказывается в app/build/outputs/apk/release/. Разделение папок предотвращает случайное использование неподписанных apk для релиза.
Можно ли найти apk, собранные через командную строку Gradle?
Да. Если использовать команду ./gradlew assembleDebug или assembleRelease, apk будут созданы в папке app/build/outputs/apk/debug/ или app/build/outputs/apk/release/. Путь совпадает с тем, что использует Android Studio, и позволяет интегрировать сборку в CI/CD скрипты без открытия IDE.
