Проект в Android Studio содержит все, что определяет рабочую область приложения: от исходного кода и ресурсов до тестового кода и конфигураций сборки.
Когда вы начинаете новый проект, Android Studio создает необходимую структуру для всех ваших файлов и делает их видимыми в окне проекта в Android Studio. Чтобы открыть окно, выберите «Просмотр» > «Окна инструментов» > «Проект» .
На этой странице представлен обзор ключевых компонентов вашего проекта.
Модули
Модуль — это набор исходных файлов и настроек сборки, которые позволяют разделить проект на отдельные функциональные единицы. Ваш проект может иметь один или несколько модулей, и один модуль может использовать другой модуль в качестве зависимости. Вы можете независимо собирать, тестировать и отлаживать каждый модуль.
Дополнительные модули полезны при создании библиотек кода в вашем собственном проекте или когда вы хотите создать разные наборы кода и ресурсов для разных типов устройств, таких как телефоны и носимые устройства, но сохранить все файлы в пределах одного проекта и использовать некоторый код совместно.
Чтобы добавить новый модуль в проект, нажмите «Файл» > «Создать» > «Новый модуль» .
Android Studio предлагает несколько различных типов модулей:
- Модуль приложения Android
- Предоставляет контейнер для исходного кода вашего приложения, файлов ресурсов и настроек уровня приложения, таких как файл сборки уровня модуля и файл манифеста Android. Когда вы создаете новый проект, модуль приложения по умолчанию называется «приложение».
Android Studio предлагает следующие типы модулей приложений:
- Телефон и планшет
- Автомобильная промышленность
- Носить ОС
- Телевидение
- Генератор базового профиля
- Контрольный показатель
Каждый модуль предоставляет необходимые файлы и некоторые шаблоны кода, подходящие для соответствующего типа приложения или устройства.
Дополнительную информацию о добавлении модуля см. в разделе Добавление модуля для нового устройства .
- Функциональный модуль
- Представляет собой модульную функцию вашего приложения, которая может использовать преимущества доставки функций Play . Например, с помощью функциональных модулей вы можете предоставлять пользователям определенные функции вашего приложения по требованию или в виде мгновенного взаимодействия через Google Play Instant .
Android Studio предлагает следующие типы функциональных модулей:
- Модуль динамических функций
- Модуль мгновенной библиотеки динамических функций
Чтобы узнать больше, прочитайте о доставке функций Play .
- Библиотечный модуль
- Предоставляет контейнер для многократно используемого кода, который можно использовать в качестве зависимости в других модулях приложения или импортировать в другие проекты. Структурно модуль библиотеки аналогичен модулю приложения, но при сборке он создает файл архива кода вместо APK, поэтому его нельзя установить на устройство.
В окне «Создать новый модуль» Android Studio предлагает следующие типы библиотечных модулей:
- Библиотека Android: содержит все типы файлов, поддерживаемые в проекте Android, за исключением собственного кода C++, включая исходный код Java и Kotlin, ресурсы и файлы манифеста. Результатом сборки является файл Android Archive (AAR), который вы можете добавить в качестве зависимости для модулей вашего приложения Android.
- Собственная библиотека Android: содержит все типы файлов, поддерживаемые в проекте Android, аналогично библиотеке Android. Однако собственные библиотеки Android также могут содержать собственный исходный код C++. Результатом сборки является файл Android Archive (AAR), который вы можете добавить в качестве зависимости для модулей вашего приложения Android.
- Библиотека Java или Kotlin: содержит только исходные файлы Kotlin или Java. Результатом сборки является файл Java Archive (JAR), который вы можете добавить в качестве зависимости для своих модулей приложений Android или других проектов Kotlin или Java.
Модули иногда называют подпроектами , поскольку Gradle также называет модули проектами.
Когда вы создаете библиотечный модуль и хотите добавить его в качестве зависимости к модулю приложения Android, вы должны объявить его следующим образом:
классный
dependencies { implementation project(':my-library-module') }
Котлин
dependencies { implementation(project(":my-library-module")) }
Файлы проекта
![](https://developer.android.com/static/images/tools/projectview-p1.png?authuser=5&hl=ru)
По умолчанию Android Studio отображает файлы вашего проекта в представлении Android . Это представление не отражает фактическую иерархию файлов на диске. Вместо этого он организован по модулям и типам файлов, чтобы упростить навигацию между ключевыми исходными файлами вашего проекта, скрывая определенные файлы или каталоги, которые обычно не используются.
Некоторые структурные различия между представлением Android и структурой на диске заключаются в том, что представление Android :
- Показывает все файлы конфигурации, связанные со сборкой проекта, в группе Gradle Script верхнего уровня.
- Показывает все файлы манифеста для каждого модуля в группе уровня модуля, если у вас есть разные файлы манифеста для разных вариантов продукта и типов сборок.
- Показывает все альтернативные файлы ресурсов в одной группе, а не в отдельных папках для каждого квалификатора ресурса. Например, все версии значка запуска отображаются рядом друг с другом.
В каждом модуле приложения Android файлы отображаются в следующих группах:
- проявляется
- Содержит файл
AndroidManifest.xml
. - Ява
- Содержит файлы исходного кода Kotlin и Java, разделенные именами пакетов, включая тестовый код JUnit.
- рез
- Содержит все ресурсы, не являющиеся кодом, такие как строки пользовательского интерфейса и растровые изображения, разделенные на соответствующие подкаталоги. Дополнительные сведения о возможных типах ресурсов см. в разделе Обзор ресурсов приложения .
Представление проекта
![](https://developer.android.com/static/images/tools/projectview-p2.png?authuser=5&hl=ru)
Чтобы увидеть фактическую файловую структуру проекта, включая все файлы, скрытые в представлении Android , выберите «Проект» в меню в верхней части окна «Проект» .
Когда вы выбираете представление «Проект» , вы можете увидеть гораздо больше файлов и каталогов, включая следующие:
-
module-name /
-
build/
- Содержит результаты сборки.
-
libs/
- Содержит частные библиотеки.
-
src/
- Содержит весь код и файлы ресурсов для модуля в следующих подкаталогах:
-
androidTest/
- Содержит код для инструментальных тестов, которые выполняются на устройстве Android. Дополнительные сведения см. в разделе Тестирование в Android Studio .
-
cpp/
- Содержит собственный код C или C++, использующий собственный интерфейс Java (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
(модуль) - Это определяет конфигурации сборки для конкретного модуля.
build.gradle
— правильное имя файла, если вы используете Groovy в качестве языка сценариев сборки, иbuild.gradle.kts
, если вы используете сценарий Kotlin.
-
-
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.
- Типы сборок. Позволяет создавать и изменять конфигурации сборок, как описано в разделе Настройка вариантов сборки . По умолчанию каждый модуль имеет типы сборки отладки и выпуска , и при необходимости вы можете определить дополнительные типы.