Программирование

Gradle

Что такое Gradle?

Gradle — граф задач. Например: скомпилировать, запустить тесты, собрать APK. Описание в build.gradle или build.gradle.kts. Первый — Groovy DSL, второй — Kotlin DSL. Скрипт gradlew, который идёт с проектом, держит всех на одной версии Gradle.

Для чего нужен Gradle?

За кнопкой Android Studio обычно стоит задача Gradle.

  • Скачивание зависимой библиотеки
  • Сборка пакета debug и release
  • Запуск тестов
  • Номер версии в одном месте

Что можно делать с Gradle?

Gradle связывает повторяемую команду сборки с одной задачей. В Android вариант, подпись и ProGuard тоже проходят здесь. Экран приложения он не пишет. Только собирает и проверяет.

Сложно ли освоить Gradle?

Маленький файл читается. Трудность в версии плагина, кэше и длине текста ошибки. Команда через gradlew уменьшает спор версий с глобальным gradle.

Плюсы и ограничения

Плюс: это официальный путь сборки Android, а добавочная сборка экономит время. Ограничение: первая загрузка тяжёлая, старый плагин может не сойтись с новым JDK. Maven ещё стоит в Java-проекте, которому нужен более простой XML.

Основные понятия

Плагин добавляет возможность. Например, плагин Android. Зависимость объявляют через implementation. Кэш нужен, чтобы не повторять одну работу.

  • ./gradlew запускает собственный Gradle проекта
  • settings.gradle перечисляет модули
  • build хранит готовый вывод
  • task добавляет свою команду

Короткий пример

Эта команда показывает, какие задачи есть в проекте. В Windows команда может быть gradlew.bat tasks.

./gradlew tasks

Частые вопросы

  • Gradle — это язык? Нет. Это инструмент сборки. Описание может быть на Groovy или Kotlin.
  • Зачем gradlew? Чтобы каждый разработчик запускал одну версию.
  • Android собирается без Gradle? Не обычным путём. Studio тоже вызывает Gradle.