Проект в Android Studio содержит все, что определяет ваше рабочее пространство для приложения: от исходного кода и ресурсов до тестового кода и конфигураций сборки.
Когда вы начинаете новый проект, Android Studio создает необходимую структуру для всех ваших файлов и делает их видимыми в окне Project в Android Studio. Чтобы открыть окно, выберите View > Tool Windows > Project .
На этой странице представлен обзор ключевых компонентов вашего проекта.
Модули
Модуль — это набор исходных файлов и настроек сборки, которые позволяют вам разделить ваш проект на отдельные единицы функциональности. Ваш проект может иметь один или несколько модулей, и один модуль может использовать другой модуль в качестве зависимости. Вы можете независимо собирать, тестировать и отлаживать каждый модуль. Обратите внимание, что в документации Gradle вы можете услышать, как модули называются «проектами» или «подпроектами».
Дополнительные модули полезны при создании библиотек кода в рамках вашего собственного проекта или когда вы хотите создать различные наборы кода и ресурсов для различных типов устройств, таких как телефоны и носимые устройства, но при этом сохранить область действия всех файлов в рамках одного проекта и использовать часть кода совместно.
Чтобы добавить новый модуль в проект, нажмите Файл > Создать > Новый модуль .
Android Studio предлагает несколько различных типов модулей:
- Модуль приложения Android
Предоставляет контейнер для исходного кода вашего приложения, файлов ресурсов и настроек уровня приложения, таких как файл сборки уровня модуля и файл манифеста Android. При создании нового проекта модуль приложения по умолчанию называется «app».
Android Studio предлагает следующие типы модулей приложений:
- Телефон и планшет
- Автомобильный
- Носить ОС
- Телевидение
Каждый модуль предоставляет основные файлы и некоторые шаблоны кода, подходящие для соответствующего приложения или типа устройства.
Дополнительную информацию о добавлении модуля читайте в статье Добавление модуля для нового устройства .
- Модуль функций
- Представляет собой модульную функцию вашего приложения, которая может использовать преимущества Play Feature Delivery . Например, с помощью модулей функций вы можете предоставлять своим пользователям определенные функции вашего приложения по запросу или в виде мгновенного опыта через Google Play Instant .
Android Studio предлагает следующие типы функциональных модулей:
- Модуль динамических функций
- Модуль библиотеки динамических функций Instant
Чтобы узнать больше, прочтите статью о доставке функций Play .
- Библиотечный модуль
Предоставляет контейнер для вашего повторно используемого кода, который вы можете использовать как зависимость в других модулях приложения или импортировать в другие проекты. Структурно модуль библиотеки такой же, как и модуль приложения, но при сборке он создает файл архива кода вместо APK, поэтому его нельзя установить на устройство.
В окне «Создать новый модуль» Android Studio предлагает следующие типы библиотечных модулей:
- Библиотека Android: Содержит все типы файлов, поддерживаемые в проекте Android, за исключением собственного кода C++, включая исходный код Java и Kotlin, ресурсы и файлы манифеста. Результатом сборки является файл архива Android (AAR), который можно добавить в качестве зависимости для модулей вашего приложения Android.
- Android Native Library: Содержит все типы файлов, поддерживаемые в проекте Android, аналогично библиотеке Android. Однако Android Native Libraries также могут содержать исходный код на C++. Результатом сборки является файл Android Archive (AAR), который можно добавить в качестве зависимости для модулей вашего приложения Android.
- Библиотека Java или Kotlin: содержит только исходные файлы Kotlin или Java. Результатом сборки является файл архива Java (JAR), который можно добавить в качестве зависимости для модулей приложений Android или других проектов Kotlin или Java.
- Benchmark > Microbenchmark: Содержит файлы, необходимые для регулярного измерения производительности кода и вывода результатов бенчмаркинга. Модули Microbenchmark особенно полезны для измерения производительности небольших фрагментов кода, которые используются повторно. Для получения дополнительной информации см. About Microbenchmark .
Когда вы создаете модуль библиотеки и хотите добавить его в качестве зависимости к модулю вашего приложения Android, вы должны объявить его следующим образом:
Круто
dependencies { implementation project(':my-library-module') }
Котлин
dependencies { implementation(project(":my-library-module")) }
- Тестовый модуль
Разделяет ваши тесты от остального кода. Вы можете настроить тестовый модуль для работы с определенными вариантами сборки.
Android Studio предлагает следующие типы тестовых модулей:
- Генератор базовых профилей: базовые профили делают взаимодействие пользователя, например, навигацию и прокрутку, более плавным при первом запуске. Создавайте базовые профили для критически важных пользовательских путей, чтобы улучшить производительность приложения и пользовательский опыт.
- Benchmark > Macrobenchmark: Содержит файлы, необходимые для регулярного измерения производительности кода и вывода результатов бенчмаркинга. Модули Macrobenchmark особенно полезны для измерения производительности более крупных вариантов использования вашего приложения, таких как прокрутка списка или другие манипуляции пользовательского интерфейса. Для получения дополнительной информации см. Write a Macrobenchmark .
Файлы проекта

По умолчанию Android Studio отображает файлы вашего проекта в представлении Android . Это представление не отражает фактическую иерархию файлов на диске. Вместо этого оно организовано по модулям и типам файлов для упрощения навигации между ключевыми исходными файлами вашего проекта, скрывая определенные файлы или каталоги, которые обычно не используются.
Некоторые структурные различия между представлением Android и структурой на диске заключаются в том, что представление Android :
- Показывает все файлы конфигурации, связанные со сборкой проекта, в группе Gradle Script верхнего уровня.
- Показывает все файлы манифеста для каждого модуля в группе на уровне модуля, если у вас есть разные файлы манифеста для разных версий продукта и типов сборки.
- Показывает все альтернативные файлы ресурсов в одной группе, а не в отдельных папках для каждого квалификатора ресурсов. Например, все версии плотности значка запуска видны рядом.
В каждом модуле приложения Android файлы отображаются в следующих группах:
- манифестирует
- Содержит файл
AndroidManifest.xml
. - Ява
- Содержит файлы исходного кода Kotlin и Java, разделенные именами пакетов, включая тестовый код JUnit.
- рез
- Содержит все некодовые ресурсы, такие как строки пользовательского интерфейса и растровые изображения, разделенные на соответствующие подкаталоги. Для получения дополнительной информации о возможных типах ресурсов см. Обзор ресурсов приложения .
Вид проекта

Чтобы увидеть фактическую файловую структуру проекта, включая все файлы, скрытые в представлении Android , выберите «Проект» в меню в верхней части окна «Проект» .
При выборе представления «Проект» вы можете увидеть гораздо больше файлов и каталогов, включая следующие:
-
module-name /
-
build/
- Содержит результаты сборки.
-
libs/
- Содержит частные библиотеки.
-
src/
- Содержит все файлы кода и ресурсов для модуля в следующих подкаталогах:
-
androidTest/
- Содержит код для инструментальных тестов, которые запускаются на устройстве Android. Для получения дополнительной информации см. Тестирование в Android Studio .
-
cpp/
- Содержит собственный код C или C++, использующий Java Native Interface (JNI). Для получения дополнительной информации см. документацию Android NDK .
-
main/
- Содержит «основные» файлы исходного набора: код Android и ресурсы, общие для всех вариантов сборки (файлы для других вариантов сборки находятся в родственных каталогах, например,
src/debug/
для типа сборки отладки):-
AndroidManifest.xml
- Описывает природу приложения и каждого из его компонентов. Для получения дополнительной информации см. обзор манифеста приложения .
-
java/
- Содержит исходные коды Kotlin или Java, или оба, если ваше приложение имеет исходный код как Kotlin, так и Java.
-
kotlin/
- Содержит только исходный код Kotlin.
-
res/
- Содержит ресурсы приложения, такие как файлы рисования и файлы строк пользовательского интерфейса. Для получения дополнительной информации см. обзор ресурсов приложения .
-
assets/
- Содержит файлы для компиляции в файл APK как есть. Например, это хорошее место для текстур и игровых данных. Вы можете перемещаться по этому каталогу так же, как и по обычной файловой системе, используя URI и читать файлы как поток байтов с помощью
AssetManager
.
-
-
test/
- Содержит код для локальных тестов, которые запускаются на вашей хостовой JVM.
-
-
build.gradle
илиbuild.gradle.kts
(модуль) - Это определяет конфигурации сборки, специфичные для модуля. Если вы используете Groovy в качестве языка скрипта сборки, правильным именем файла будет
build.gradle
, а если вы используете скрипт Kotlin, то это будетbuild.gradle.kts
.
-
-
build.gradle
илиbuild.gradle.kts
(проект) - Это определяет вашу конфигурацию сборки, которая применяется ко всем модулям.
build.gradle
— правильное имя файла, если вы используете Groovy в качестве языка скрипта сборки, иbuild.gradle.kts
, если вы используете скрипт Kotlin. Этот файл является неотъемлемой частью проекта, поэтому поддерживайте его в системе контроля версий вместе со всем остальным исходным кодом.Информацию о других файлах сборки см. в разделе Настройка сборки .
Настройки структуры проекта
Чтобы изменить различные настройки для вашего проекта Android Studio, откройте диалоговое окно « Структура проекта» , нажав Файл > Структура проекта . Он содержит следующие разделы:
- Проект: устанавливает версию Gradle и плагина Android Gradle, а также имя расположения репозитория.
- Расположение SDK: задает расположение JDK, Android SDK и Android NDK, используемых вашим проектом.
- Переменные: позволяет редактировать переменные, используемые в скриптах сборки.
- Модули: Позволяет редактировать конфигурации сборки, специфичные для модуля, включая целевой и минимальный SDK, подпись приложения и зависимости библиотеки. Страница настроек каждого модуля разделена на следующие вкладки:
- Свойства: Указывает версии SDK и инструментов сборки, которые следует использовать для компиляции модуля.
- Подписание: указывает сертификат, который будет использоваться для подписи вашего приложения .
Зависимости: Перечисляет зависимости библиотеки, файла и модуля для этого модуля. Вы можете добавлять, изменять и удалять зависимости из этой панели. Для получения дополнительной информации о зависимостях модулей см. раздел Настройка вариантов сборки .
Варианты сборки: позволяют настраивать различные варианты и типы сборки для вашего проекта.
Варианты: позволяет создавать несколько вариантов сборки, где каждый вариант определяет набор параметров конфигурации, таких как минимальная и целевая версия SDK модуля, а также код и имя версии .
Например, вы можете определить один вариант с минимальным SDK 21 и целевым SDK 29, а также другой вариант с минимальным SDK 24 и целевым SDK 33.
- Типы сборки: Позволяет создавать и изменять конфигурации сборки, как описано в разделе Настройка вариантов сборки . По умолчанию каждый модуль имеет типы сборки отладки и выпуска , и вы можете определить больше по мере необходимости.