Использование docker-контейнеров для сборки Android-приложений | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №18 (360) апрель 2021 г.

Дата публикации: 28.04.2021

Статья просмотрена: 764 раза

Библиографическое описание:

Маркелов, К. Д. Использование docker-контейнеров для сборки Android-приложений / К. Д. Маркелов. — Текст : непосредственный // Молодой ученый. — 2021. — № 18 (360). — С. 44-47. — URL: https://moluch.ru/archive/360/80471/ (дата обращения: 17.12.2024).



В данной статье рассматривается программное обеспечение Docker, демонстрируется использование контейнеров для сборки Android-приложений

Ключевые слова: Android, приложение, Docker, контейнер, сборка, Gradle, программное обеспечение

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Docker позволяет создавать контейнеры, которые содержат минимальное ядро ОС и необходимый набор ПО. Данные контейнеры могут быть развернуты на любом устройстве без изменения окружения.

Основным инструментом для сборки Android-приложений является система автоматической сборки Gradle, построенная на принципах Apache Ant и Apache Maven

Главным достоинством сборки Android-приложений в Docker контейнере является то, что при необходимости сборки приложения на другом устройстве нет необходимости в установке всего ПО, достаточно скачать необходимый образ.

Все инструкции для создания образа содержаться в Dockerfile. На рис.1 представлен Dockerfile, используемый для создания образа контейнера, в котором будет производиться сборка Android-приложения.

Содержимое Dockerfile

Рис. 1. Содержимое Dockerfile

В строке 1 указывается базовый образ контейнера. В данном случае используется официальный образ Gradle.

В строках 3–7 задаются переменные с папкой для Android SDK и версиями SDK и SDK Build tools.

В строках 8–12 создается директория для установки SDK, скачивается архив с SDK необходимой версии, распаковывается и затем удаляется.

В строках 13–15 создается папка и файлы с лицензиями. Исходя из официальной документации Android, данные файлы нельзя сгенерировать автоматически, поэтому необходимо скопировать их с устройства, на котором данные лицензии уже подтверждены.

В последующих строках запускается обновление SDK, установка SDK build tools и platform tools.

Сборка образа контейнера осуществляется при помощи команды: “ docker build -t <название образа>.”. Результат сборки данного образа показан на рис. 2.

Сборка Docker образа

Рис.2 Сборка Docker образа

Для запуска контейнера используется следующая команда: “ docker run --rm -v <директория проекта>:/home/gradle/ -w /home/gradle <название образа> <команда, которая будет выполнятся в контейнере>”. Для сборки проекта используется команда gradle assembleDebug (пример выполнения команды показан на рис. 3) , но аналогичным образом можно выполнять другие задачи Gradle.

Пример сборки Android-приложения в контейнере

Рис. 3. Пример сборки Android-приложения в контейнере

В данной статье было описано использование Docker контейнера для сборки Android-приложения. Данный способ будет полезен для использования на CI/CD серверах. Помимо функционала, использованного в статье, Docker предлагает разработчику большое количество возможностей. При помощи Docker можно значительно упростить разработку и поддержку ПО, в том числе и Android-приложений.

Литература:

1. Эдриен, Моуэт Использование Docker. Разработка и внедрение программного обеспечения при помощи технологии контейнеров. Руководство / Моуэт Эдриен. — М.: ДМК Пресс, 2017. — 427 c.

2. Turnbull J. The Docker Book. James Turnbull, 2014, p. 338.

3. Сборка Android-проекта в Docker-контейнере [Электронный ресурс]// URL https://habr.com/ru/post/465193/

Основные термины (генерируются автоматически): SDK, программное обеспечение, сборка Android-приложения, контейнер, образ, сборка Android-приложений, строка.


Похожие статьи

Автоматическая поддержка документации Asp.Net Core и Angular веб-приложений

В данной статье рассматривается автоматизация генерации и сопровождения документации Asp.Net Core и Angular приложения, с автоматической публикацией в GitLab.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Создание простого ar-приложения с использованием Unity и Vuforia engine

В статье рассмотрен процесс создания простого ar-приложения при помощи платформы разработки приложений Unity и платформы Vuforia.

Рассмотрение декларативного подхода к разработке интерфейсов мобильных приложений для Android

В данной статье рассматриваются императивный и декларативный подходы к разработке интерфейсов, анализируются преимущества и недостатки библиотеки Jetpack Compose.

Сравнительный анализ времени отображения экранов с использованием стандартного подхода в Android и библиотеки Jetpack Compose

В данной статье проводятся измерения скорости отображения интерфейса и сравнение Jetpack Compose со стандартным подходом создания интерфейсов. Измеряется скорость отображения с использованием режима отладки и R8, а также комбинированием подходом при ...

Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12

В статье автор пытается определить необходимые графические средства для реализации интерфейса приложения, разрабатываемого для операционной системы Android версии 12 и выше. Были определены ключевые инструменты для контекстной ячейки собеседника, кот...

Программирование микроконтроллеров Arduino

В данной статье будет описан способ программирования микроконтроллеров Arduino в среде Arduino IDE.

.Net Core 3 — платформа будущего

В данной статье рассматривается новизна недавно выпущенной платформы для программирования. Возможность использования все преимущества.Net Core 3, скорость выполнения операций и легкодоступность платформы.

Использование сервиса API SendGrid для реализации отправки Email-сообщений в проекте ASP.NET Core

В данной статье рассмотрено использование Email-рассылки при помощи API SendGrid в проекте ASP.NET Core.

Некоторые методы масштабирования блокчейна Ethereum

В статье представлен обзор некоторых методов масштабирования блокчейна Ethereum.

Похожие статьи

Автоматическая поддержка документации Asp.Net Core и Angular веб-приложений

В данной статье рассматривается автоматизация генерации и сопровождения документации Asp.Net Core и Angular приложения, с автоматической публикацией в GitLab.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Создание простого ar-приложения с использованием Unity и Vuforia engine

В статье рассмотрен процесс создания простого ar-приложения при помощи платформы разработки приложений Unity и платформы Vuforia.

Рассмотрение декларативного подхода к разработке интерфейсов мобильных приложений для Android

В данной статье рассматриваются императивный и декларативный подходы к разработке интерфейсов, анализируются преимущества и недостатки библиотеки Jetpack Compose.

Сравнительный анализ времени отображения экранов с использованием стандартного подхода в Android и библиотеки Jetpack Compose

В данной статье проводятся измерения скорости отображения интерфейса и сравнение Jetpack Compose со стандартным подходом создания интерфейсов. Измеряется скорость отображения с использованием режима отладки и R8, а также комбинированием подходом при ...

Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12

В статье автор пытается определить необходимые графические средства для реализации интерфейса приложения, разрабатываемого для операционной системы Android версии 12 и выше. Были определены ключевые инструменты для контекстной ячейки собеседника, кот...

Программирование микроконтроллеров Arduino

В данной статье будет описан способ программирования микроконтроллеров Arduino в среде Arduino IDE.

.Net Core 3 — платформа будущего

В данной статье рассматривается новизна недавно выпущенной платформы для программирования. Возможность использования все преимущества.Net Core 3, скорость выполнения операций и легкодоступность платформы.

Использование сервиса API SendGrid для реализации отправки Email-сообщений в проекте ASP.NET Core

В данной статье рассмотрено использование Email-рассылки при помощи API SendGrid в проекте ASP.NET Core.

Некоторые методы масштабирования блокчейна Ethereum

В статье представлен обзор некоторых методов масштабирования блокчейна Ethereum.

Задать вопрос