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.