Android Gradle

Урок 2. Структура Android-проекта. Система сборки Gradle.

Gradle

В первую очередь следует упомянуть о том, что вот уже пару лет как осуществлен переход на систему сборки Gradle вместо Ant. С одной стороны, существующим Android-разработчикам пришлось переучиваться на новую, незнакомую до этих пор систему сборки, с другой стороны — после адаптации работать стало существенно проще.

Не будем вдаваться во внутреннее устройство этой системы, рассмотрим для начала основы работы.

Создайте новый проект по аналогии с первым уроком. В дереве проекта найдите два файла с раширением .gradle:

build.gradle в Android Studio

 

Эти файлы описывают, каким образом собирать проект. Первый из них отвечает за весь проект, а второй — за отдельный модуль. В приложении может быть несколько модулей, и в таком случае у каждого из них будет свой .gradle файл. Мы же пока остановимся на проекте с одним модулем.

На данном этапе нам не очень интересен первый файл, давайте откроем второй, отвечающий за наш модуль:

Рассмотрим файл построчно:

Эта строчка говорит, что модуль является приложением. Если бы модуль был библиотекой, следовало бы написать ‘com.android.library’.

Далее идет блок android.

Версия SDK, под которую собирается приложение. Обратите внимание, это не минимальная поддерживаемая версия! Этот параметр в большинстве случаев должен быть равен последней доступной версии SDK.

Версия инструментов для сборки. Аналогично, в большинстве случаев должна быть последней доступной.

Имя пакета нашего приложения. Должно быть уникальным во всей экосистеме. Если кто-то ранее использовал это имя пакета, то вы не сможете загрузить это приложение в Google Play, или установить на устройство, на котором уже установлено приложение с таким же именем пакета.

Минимальная поддерживаемая версия Android. На устройства, у которых версия SDK ниже, чем указанная, установить приложение не получится.

Версия SDK, под которую собрано приложение. В большинстве случаев — последняя доступная версия SDK.

Целочисленная версия приложения. При выгрузке обновления, например, в Google Play, должна обязательно инкрементироваться.

Имя версии. Может быть любой строкой, ни на что не влияет (создана для отображения пользователям).

Блок buildTypes пока что опустим, он нам сейчас не интересен.

Далее идет очень интересный блок dependencies. В нем, как можно догадаться из названия, перечисляются библиотеки, от которых зависит наше приложение.

Это — одна из главных фишек Gradle. Раньше, в основном, приходилось скачивать Jar-файлы и добавлять их в проект. В больших проектах обновление этих самых библиотек становилось большой проблемой. Конечно же, тогда существовал и Maven, но им, к сожалению, мало кто пользовался. В Gradle же (внутри которого, кстати, лежит тот же самый maven) все намного проще. Мы просто перечисляем на отдельных строчках зависимости с версиями — и все! При обновлении библиотеки нужно всего лишь поменять строчку с версией:

Мы так же не лишены и возможности использовать Jar-файлы, нужно просто положить их в директорию libs/:

Для тестов есть отдельная директива testCompile:

Эти библиотеки будут собираться только тогда, когда мы запускаем тесты, и не будут включены в обычные билды.

Как видите, с Gradle все достаточно просто. Давайте теперь разберем структуру файлов в проекте.

Структура Android-проекта

Если посмотреть на дефолтную панель в левой части Android Studio, вы увидите следующую картину:

Структура проекта Android Studio

 

В manifests сгруппированы манифесты наших модулей. AndroidManifest — одна из ключевых частей приложения. Манифест описывает, из каких «частей» состоит приложение. Он представляет собой XML-файл, в котором описаны разрешения приложения (о них мы поговорим в следующих уроках), «экраны», сервисы, метаданные и т. д. Пример AndroidManifest.xml из пустого проекта:

Далее в дереве мы видим исходники на Java. Они разделены на две части — непосредственно код, и код для тестов.

Следом идут ресурсы (директория res) — в них находятся изображения, текст, аудиофайлы, и прочие вещи, которые мы будем использовать в приложении.

На самом деле, структура Android-проекта выглядит несколько иначе, просто Android Studio специально группирует файлы так, чтобы нам с ними было удобно работать.

Чтобы увидеть реальное дерево файлов, нужно выбрать вкладку «Project»:

Структура проекта Android Studio

 

И тогда мы увидим такую картину:

Структура проекта Android Studio

 

Немного иначе выглядит, не так ли? :)

По факту, ничего сложного в такой структуре нет, да и она нам, в принципе, особо не понадобится, так что рекомендую переключиться обратно во вкладку «Android».

На этом все, а в следующем уроке мы попробуем изменить контент, отображаемый на экране в нашем проекте.


Новые уроки добавляются каждый день! Чтобы ничего не пропустить, подпишитесь на нашу группу ВКонтакте, или на рассылку по e-mail (обещаем, спама не будет. честно.)

GET YOUR EMAIL UPDATES

We send out our lovely email newsletter with useful tips and techniques, recent articles and upcoming events. Thousands of readers have signed up already. Get a free WordPress eBook now.
E-Mail