Что такое Gradle в Android Studio?

Gradle немного запутывает меня, а также для нового разработчика Android. Может ли кто-нибудь объяснить, что такое gradle в Android Studio и какова его цель? Почему Gradle включен в Android Studio?

22 ответов


Короткий Ответ:

Gradle-это система сборки.

Ответ

до Android Studio вы использовали Eclipse для своих целей разработки, и, скорее всего, вы не знали, как построить свой Android APK без Eclipse.

вы можете сделать это в командной строке, но вы должны узнать, что каждый инструмент (dx, aapt) делает в SDK. Eclipse спас нас всех от этих низких, но важных, фундаментальных деталей, предоставив нам свои собственные система сборки.

теперь, вы когда-нибудь задавались вопросом, почему res папка находится в том же каталоге, что и ваш src папка?

это где система сборки входит в картину. Система сборки автоматически принимает все исходные файлы (.java или .xml), затем применяет соответствующий инструмент (например, принимает java class файлы и преобразует их в dex файлы) и группирует их все в один сжатый файл, наш любимый APK.

эта система сборки использует ряд конвенций: пример одного-указать каталог, содержащий исходные файлы (в Eclipse это \src папка) или файлы ресурсов (в Eclipse это ).

теперь, чтобы автоматизировать все эти задачи, должен быть сценарий; вы можете написать свою собственную систему сборки, используя сценарии оболочки в Linux или синтаксис пакетных файлов в windows. Понял?

ш другое построить систему это берет лучшие функции из другой сборки системы и объединяет их в одну. Она совершенствуется на основе их недостатков. Это система сборки на основе JVM, это означает, что вы можете написать свой собственный скрипт на Java, который использует Android Studio.

одна классная вещь о gradle заключается в том, что это плагин на основе системы. Это означает, что если у вас есть собственный язык программирования, и вы хотите автоматизировать задачу создания некоторого пакета (например, JAR для Java) из источников, то вы может написать полный плагин на Java или Groovy(или Kotlin, см. здесь), и распространять его по всему миру.

почему Google использовал его?

Google увидел одну из самых передовых систем сборки на рынке и понял, что вы можете писать собственные скрипты практически без кривой обучения и без изучения Groovy или любого другого нового языка. Поэтому они написали плагин для Android для Gradle.

вы должны были видеть build.gradle файл (ы) в вашем проект. Именно здесь вы можете писать сценарии для автоматизации своих задач. Код, который вы видели в этих файлах код на Groovy. Если вы пишете System.out.println("Hello Gradle!"); затем он будет печатать на консоли.

что вы можете сделать в сценарии сборки?

простой пример заключается в том, что вам нужно скопировать некоторые файлы из одного каталога в другой до фактического процесса сборки. Сценарий сборки Gradle может это сделать.


Это новый инструмент сборки, который Google хочет использовать для Android. Он используется из-за того, что он более расширяемый и полезный, чем ant. Он предназначен для повышения опыта разработчиков.

вы можете просмотреть выступление Ксавье Дюкроэ из команды разработчиков Android на Google I / O здесь.

есть также еще один разговор на Android Studio от Xavier и Tor Norbye, также во время ввода-вывода Google здесь.


ш - это система сборки, работающая на Android Studio.

в других языках, например:


вот подробное объяснение о том, что Gradle есть и как его использовать в Android Studio.

изучение файлов Gradle

  1. всякий раз, когда вы создаете проект в Android Studio, система сборки автоматически генерирует все необходимые файлы сборки Gradle.

Файлы Сборки Gradle

  1. файлы сборки Gradle используют Domain Specific Language or DSL для определения пользовательская логика сборки и взаимодействие с Android-ориентированные элементы плагина Android для Gradle.

  2. проекты Android Studio состоят из 1 или более модулей, которые компоненты, которые можно создавать, тестировать и отлаживать независимо. Каждый модуль имеет свой собственный файл сборки, поэтому каждый проект Android Studio содержит 2 вида файлов сборки Gradle.

  3. Файл Сборки Верхнего Уровня: здесь вы найдете параметры конфигурации, общие для всех модулей, которые сделать свой проект.

  4. Файл Сборки Уровня Модуля: каждый модуль имеет свой собственный файл сборки Gradle, который содержит настройки сборки для конкретного модуля. Вы будете тратить большую часть времени на редактирование файлов сборки уровня модуля, а не файла сборки верхнего уровня вашего проекта.

чтобы взглянуть на эти build.gradle файлы, откройте Панель проекта Android Studio (выбрав вкладку проект) и разверните папку Gradle Scripts. Первые два элементы в папке Gradle Scripts-это файлы сборки Gradle уровня проекта и уровня модуля

Файл Сборки Gradle Верхнего Уровня

каждый проект Android Studio содержит один файл сборки Gradle верхнего уровня. Это build.gradle файл-это первый элемент, который появляется в папке Gradle Scripts и имеет четкую маркировку Project.

большую часть времени, вам не нужно вносить какие-либо изменения в этот файл, но все еще полезно понять его содержание и роль, которую оно играет в рамках вашего проекта.

Файлы Сборки Gradle Уровня Модуля

в дополнение к файлу сборки Gradle уровня проекта, каждый модуль имеет собственный файл сборки Gradle. Ниже приведена аннотированная версия базового файла сборки Gradle уровня модуля.

Другие Файлы Gradle

В дополнение к построить.gradle files, ваша папка скриптов Gradle содержит некоторые другие файлы Gradle. Большинство время вам не придется вручную редактировать эти файлы, так как они будут автоматически обновляться при внесении соответствующих изменений в проект. Тем не менее, это хорошая идея, чтобы понять роль этих файлов в ваш проект.

gradle-обертка.свойства (Gradle версии)

этот файл позволяет другим людям создавать ваш код, даже если у них нет Gradle, установленного на их машине. Этот файл проверяет, установлена ли правильная версия Gradle и при необходимости загружает необходимую версию.

настройки.Gradle в

этот файл ссылается на все модули, которые составляют проект.

gradle.свойства (свойства проекта)

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

местные.свойства (расположение SDK)

этот файл сообщает плагину Android Gradle, где он может найти вашу установку Android SDK.

Примечание: local.properties содержит информацию, относящуюся к локальной установке Android SDK. Это означает, что вы не должны держать этот файл под контролем источника.

предложил чтение-Tutsplus учебник

я получил четкие понимание от Gradle от этого.


Gradle является одним из типов build tool это создает исходный код программы. Таким образом, это важная часть Android Studio и должна быть установлена перед началом разработки вашего приложения.

нам не нужно устанавливать его отдельно, потому что Android Studio делает это за нас, когда мы делаем наш первый проект.


определение:: Gradle можно описать структурированный механизм построения, где он предоставляет разработчику инструменты и гибкость для управления ресурсами проекта для создания сборок, которые smaller in size, targeting specific requirements для некоторых устройств определенных конфигураций


ОСНОВНЫЕ КОНФИГУРАЦИИ

  1. minimumSdk
  2. maximumSdk
  3. targettedSdk
  4. versionCode
  5. versionName

библиотеки:: мы можем добавить библиотеки android или любые другие сторонние библиотеки в дополнение в соответствии с требованиями легко, что было утомительной задачей ранее. Если библиотека не подходит для существующего проекта, разработчику отображается журнал, в котором пользователь может найти подходящее решение для внесения изменений в проект, чтобы добавить библиотеку. Это всего лишь один ... линия зависимости


СОЗДАНИЕ РАЗНОВИДНОСТЕЙ СБОРОК

объединение типов сборки с вкусами сборки, чтобы получить разнообразие вариантов сборки

 ====================                         ====================
|     BuildTypes     |                       |   ProductFlavours  |
 --------------------  ====================== --------------------
|  Debug,Production  |      ||       ||      | Paid,Free,Demo,Mock|
 ====================       ||       ||       ==================== 
                            ||       ||
                            VV       VV
 =================================================================
|           DebugPaid, DebugFree, DebugDemo, DebugMock            |
|  ProductionPaid, ProductionFree, ProductionDemo, ProductionMock |
 =================================================================

УМЕНЬШЕНИЕ РАЗМЕРА

Gradle помогает уменьшить размер сгенерированной сборки, удаляя неиспользуемые ресурсы, а также неиспользуемые вещи из интегрированных библиотеки


УПРАВЛЕНИЕ РАЗРЕШЕНИЯМИ

мы можем указать определенные разрешения для определенных сборок, добавив определенные разрешения в определенных сценариях на основе требований


СБОРКИ ДЛЯ ОПРЕДЕЛЕННЫХ УСТРОЙСТВ

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


ХОРОШАЯ ССЫЛКА

Vogella Уроки


вы можете узнать все, что вам нужно знать о Gradle здесь: Gradle Plugin Руководство Пользователя

цели новой системы сборки

цели новой системы сборки являются:

  • сделать его легким для повторного использования кода и ресурсов
  • сделайте его легким создать несколько вариантов применения, или для распределения мульти-АПК или для различных вкусов применения
  • сделайте его легким к настройка, расширение и настройка процесса сборки
  • хорошая интеграция IDE

Почему Gradle?

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

вот некоторые из его особенностей, которые заставили нас выбрать Gradle:

  • доменный язык (DSL) для описания и управления логикой сборки
  • собрать файлы основаны на Groovy и позволяют смешивать декларативные элементы через DSL и использовать код для управления элементами DSL предоставить пользовательскую логику.
  • встроенное управление зависимостями через Maven и / или Ivy.
  • очень гибкий. Позволяет использовать лучшие практики, но не навязывает свой собственный способ делать вещи.
  • плагины могут предоставить свой собственный DSL и свой собственный API для сборки файлов для использования.
  • хороший API Tooling позволяющ IDE интеграция

ш это построить систему. систем программные средства, предназначенные для автоматизации процесса компиляции программ. Системы сборки бывают разных форм и используются для различных задач сборки программного обеспечения. Хотя их основная цель-эффективно создавать исполняемые файлы.

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

мало похожих систем сборки для других языков (см. Полный список здесь):

  1. Apache Ant & Apache Maven-Java
  2. sbt (простой инструмент сборки) - для Scala (Play framework и т. д.)
  3. A - A-P-Python на основе инструмента сборки
  4. Рейк (Apache Builder) - Рубин
  5. Leiningen для В Clojure

рискуя быть дискурсивным, я думаю, что за этим стоит вопрос о том, почему опыт Android Studio / Gradle настолько плох.

типичный опыт Clojure:

  • загрузить проект с зависимостями, перечисленными в project.clj по.
  • Leiningen получает зависимости благодаря Clojars и Maven.
  • проект компилируется.

Типичный Android-студия / ш опыт :

  • "импортировать в Eclipse проект."
  • OK проект импортирован.
  • Gradle в делает это Тханг ... ждать... ждать... ждать... Gradle в закончил.
  • компиляции ... не удается скомпилировать, потому что я не знаю, что такое X / не могу найти библиотеку Y.

Я не уверен, что это именно вина Gradle в это. Но "импорт из проекта Eclipse" кажется довольно странным. Для всей предполагаемой сложности Gradle и достоинств системы сборки Android Studio, похоже, просто не импортирует зависимости сборки или процесс сборки от Eclipse очень хорошо.

Он не сообщает вам, когда ему не удалось импортировать полный график зависимостей. Android Studio не дает никакой полезной помощи или советов о том, как решить эту проблему. Он не говорит вам, где вы можете вручную искать в папках Eclipse. Это не говорит вам, какая библиотека, кажется, отсутствует. Или помочь вам найти Maven и т. д. для них.

в 2016 такие вещи, как Leiningen / Clojars, или npm узла, или pip Python, или Debian apkg (и я уверен, что многие подобные менеджеры пакетов для других языков и систем) работают красиво ... недостающие зависимости остались в прошлом.

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

Я склонен сказать, что это вина Google. Они сломали экосистему Android (и тысячи существующих проектов Android / онлайн-учебников) , когда они бесцеремонно решили перейти от Eclipse для Android Studio / Gradle без создания надежного процесса преобразования. Люди, чьи проекты работают в Eclipse, не адаптируют их к AS (предположительно, потому что для них это боль). И люди, пытающиеся использовать эти проекты, сталкиваются с теми же проблемами.

и в любом случае, если Gradle-это супермощная система сборки, почему я все еще управляю множеством других зависимостей в диспетчере sdk? Почему проект, которому нужно, скажем, ndk, не может указать это в своем файле Gradle так что он автоматически устанавливается и встроен, когда это необходимо? Почему NDK особенный? Аналогично для целевых платформ? Почему я устанавливаю их явно в IDE, а не просто проверяю свой проект против них и все это сортируется для меня за кулисами?


Gradle это расширенная система сборки, а также расширенный набор инструментов сборки, позволяющий создавать пользовательскую логику сборки через плагины!

плюсы:

  • Dsl-доменный язык, основанный на groovy
  • DAG-направленный ациклический граф
  • инкрементных построений
  • расширяемая модель домена
  • Gradle всегда в курсе
  • перед выполнением задачи Gradle делает снимок его задача вход и выход.
  • в случае, если снимок изменился или он не существует, Gralde будет повторно выполните эту задачу.

Манифест записи

через DSL можно настроить следующее записи манифеста:

построить вариант

по умолчанию, плагин Android автоматически создает проект построения и отладки и версии приложение.

зависимости

  1. Локальные Зависимости:

Если у вас есть двоичные архивы в локальной файловой системе, что модуль в зависимости от, например, JAR-файлов, вы можете объявить эти зависимости в файл сборки для этого модуля.

  1. Удаленный Зависимости:

первый репозиторий должен быть добавлен в список, а затем зависимость должна быть объявлено таким образом, что Maven или Ivy объявляют их артефакты.


одно из преимуществ Gradle, которое я нашел:

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


Gradle для языка Groovy JVM то, что ant для Java. В принципе, это инструмент сборки Groovy. В отличие от Ant, он основан на полном языке Groovy. Вы можете, например, написать код Groovy script в скрипте Gradle, чтобы сделать что-то, а не полагаться на конкретный язык домена.

Я не знаю конкретной интеграции IntelliJ, но представьте, что вы можете "расширить" Groovy так, чтобы вы могли писать конкретные примитивы языка" сборки", и они просто стали частью Клевый язык. (Метапрограммирование Groovy-это целая дискуссия сама по себе.) IntelliJ / Google может использовать Gradle для создания языка сборки очень высокого уровня, но это язык, построенный на расширяемом открытом стандарте.


Gradle-это расширенный набор инструментов сборки для android, который управляет зависимостями и позволяет определять пользовательскую логику сборки. особенности как 1. Настройка, Настройка и расширение процесса сборки. 2. Создайте несколько APKs для вашего приложения с различными функциями, используя один и тот же проект. 3. Повторное использование кода и ресурсов. обратитесь по этой ссылке http://developer.android.com/sdk/installing/studio-build.html


В Android Studio Gradle-это пользовательский инструмент сборки, используемый для создания пакетов android (apk-файлов) путем управления зависимостями и предоставления пользовательской логики сборки.

APK file (Android Application package) - это специально отформатированный zip-файл, который содержит

  • байт-код
  • ресурсы (изображения, UI, xml и т.д.)
  • файл манифеста

файл apk подписывается и передается на устройство с помощью ADB (Android Debug Bridge), где он запускается на выполнение.


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

вот несколько вещей, которые вы можете сделать с Gradle.

  • минимальная конфигурация, необходимая для новых проектов, потому что Gradle имеет конфигурации по умолчанию для ваших проектов Android studio.

  • Декларация Иждивенчества. Можно объявить файлы jar зависимостей или файлы библиотеки это размещено на локальном или удаленном сервере.

  • Gradle автоматически генерирует тестовый каталог и тестовый APK из источника вашего проекта.

  • если вы добавляете всю необходимую информацию, такую как keyPassword и keyAlias, в файл сборки Gradle вы можете использовать Gradle для создания подписанных APKs.

  • Gradle может генерировать несколько APKs с различным пакетом и строить конфигурации от одиночного модуля.


Я имею два учебника, чтобы написать ответ!--2--> один,два

Градель - это инструмент декларативной сборки общего назначения. Это общее назначение, потому что его можно использовать для создания почти всего, что вы хотите реализовать в скрипте сборки. Это декларативно, так как вы не хотите видеть много кода в файле сборки, который не читается и не поддерживается. Итак, в то время как Gradle предоставляет идею конвенций и простой и декларативная сборка, она также делает инструмент адаптируемым и разработчики возможность расширения. Он также предоставляет простой способ настроить поведение по умолчанию и различные крючки для добавления любых сторонних функций.

Gradle сочетает в себе хорошие части обоих инструментов и предоставляет дополнительные функции и использует Groovy в качестве доменного языка (DSL). Он имеет силу и гибкость инструмента муравья с особенностями Maven как жизненный цикл и легкость строения использовать.

Почему Gradle? Почему Сейчас?

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

предположим,вы хотите скопировать файл в определенное место при создании версии вашего проекта. Чтобы определить версию, проверьте строку в метаданных, описывающих проект. Если он соответствует определенной схеме нумерации (например, 1.0-RELEASE), вы копируете файл из точки A В точку B. с внешней точки зрения это может показаться тривиальной задачей. Если вам приходится полагаться на XML, язык сборки многих традиционных инструментов, выражающий эту простую логику, становится достаточно сложный.

эволюция Java Build Tools

логика сборки Java должна быть описана в XML. XML отлично подходит для описания иерархических данных, но не хватает выражения потока программы и условной логики. По мере того, как сценарий сборки усложняется, поддержание строительного кода становится кошмаром.

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

Maven 1, выпущенный в июле 2004 года, пытались облегчить этот процесс. Она обеспечивает стандартизированную структуру проектов и каталогов, а также управление зависимостями. К сожалению, пользовательскую логику трудно реализовать

ш вписывается в поколение строить инструменты и удовлетворяет многим требованиям современных инструментов построения (Рис. 1). Он обеспечивает выразительный DSL, соглашение по подходу к конфигурации и мощное управление зависимостями. Это делает правильный шаг, чтобы отказаться от XML и ввести динамический язык Groovy, чтобы определить логику сборки. Звучит убедительно, не так ли?

Gradle в сочетает в себе лучшие возможности других инструментов сборки.

enter image description here

ш набор

enter image description here

зачем создавать свои Java-проекты с помощью Gradle, а не Ant или Maven?

инструмент сборки по умолчанию для Android (и новая звезда инструментов сборки на JVM) предназначен для облегчения сценариев сложных, многоязычных сборок. Вы должны изменить к нему, однако, если вы используете Ant или Maven?

ключ к разблокировке функций питания Gradle в вашем скрипте сборки заключается в обнаружении и применении его модели домена, как показано на рисунке ниже. enter image description here

Gradle не может знать всех требований, специфичных для вашей корпоративной сборки. Предоставляя крючки на этапах жизненного цикла, Gradle позволяет отслеживать и настраивать поведение выполнения сценария сборки.

Gradle устанавливает словарь для своей модели, предоставляя DSL, реализованный в Groovy. При решении сложной проблемной области, в данном случае задачи построения программного обеспечения, возможность использования общего языка для выражения вашей логики может быть мощным инструментом.

Другим примером является способ выражения зависимостей от внешних библиотек, очень распространенная проблема, решаемая инструментами сборки. Из коробки Gradle предоставляет вам два блока конфигурации для сценарий сборки, позволяющий определить зависимости и репозитории, из которых вы хотите их получить. Если стандартные элементы DSL не соответствуют вашим потребностям, вы даже можете ввести свой собственный словарь через механизм расширения Gradle.

интеграция с другими инструментами построения

Gradle хорошо играет с Муравьем, Maven и плющом своих предшественников, как показано на рисунке под.

enter image description here

автоматизация проекта от сборки до развертывания

enter image description here

в образе: этапы конвейера развертывания.

  • компиляция кода

  • запуск модульных и интеграционных тестов

  • выполнение статического анализа кода и генерации тестовых покрытие

  • создание рассылки

  • подготовка целевой среды

  • развертывание результат

  • выполнение дымовых и автоматизированных функциональных тестов

Я имею два учебника, чтобы написать ответ!--2--> один,два


система сборки Gradle предназначена для поддержки сложных сценариев при создании приложений для Android:

мульти-распределение: одно и то же приложение должно быть настроено для нескольких клиентов или компаний

мульти-apk: поддержка создания нескольких apk для разных типов устройств при повторном использовании частей кода


Gradle-это инструмент сборки, используемый для создания APK или известный как набор пакетов приложений.


by @Brian Gardner:

Gradle-это обширный инструмент сборки и менеджер зависимостей для проектов программирования. Он имеет доменный язык, основанный на Groovy. Gradle также обеспечивает поддержку сборки по соглашению для многих типов проектов, включая Java, Android и Scala.

особенность Gradle:

  1. Управление Зависимостями
  2. использование Ant из Gradle
  3. Gradle в Плагины
  4. Java-Плагин
  5. Android Плагин
  6. Мульти-Проект Строит

Gradle-это то, что позволяет автоматизировать создание сложных проектов Android, которые включают в себя 10 тысяч строк кода из нескольких источников, проектов, библиотек и т. д. Он может условно генерировать несколько оптимизированных APKs на основе множества спецификаций конфигурации - если вам интересно, другие ответы предоставляют более подробную информацию об этом аспекте Gradle.

однако, если вы новичок в разработке Android, Gradle в 99% случаев-это то, что остановка ваш проект из здания. Это непостижимая, сложная система, которая эффективно запутывает процесс сборки Android и по существу делает его недоступным для неопытных разработчиков, т. е. для того, чтобы построить простое приложение начального уровня Android, ничего не подозревающему новичку может потребоваться изучить и понять многие вещи, которые они не торговались, такие как:

  • Android APK структура и экосистема
  • Android Studio
  • Пути Классов Java и зависимости
  • в Groovy
  • скрипты сборки Gradle
  • много других сложных и интересных технологий

все эти вещи интересны и полезны для разработчиков Android, чтобы знать, но они далеки от простых и представляют собой грозный барьер для входа. Я подозреваю, что то, что вдохновило OP задать этот вопрос, - это чувство разочарования, которое неизбежно поражает разработчика-неофита после слишком долгих попыток получить простое приложение построить и постоянно срываются Градля. Проблема извращенно усугубляется огромным количеством высокотехнической документации, доступной для всех этих технологий. Также для большого количества потребностей в развитии Gradle является излишним.

альтернативой является написание сценария оболочки, который создает ваш проект путем автоматизации инструментов, доступных в Android SDK. Достоинств этого подхода много, для начала его, вероятно, лучший способ изучения и поймите процесс сборки и экосистему Android, и это позволяет полностью контролировать, как ваше приложение построено. Однако такой подход больше подходит для глубоко неразменный техник-руководителей, чем это для неопытных нубов опробовать андроид.

что бросается в глаза его отсутствием (пожалуйста, сообщите мне, если есть такая вещь), это начальный уровень, легкая IDE с уменьшенным набором функций, который одновременно упрощает процесс сборки, не скрывая его (так что не netbeans или eclipse), возможно, он все еще может использовать Gradle (что было не так с Ant). Это должно упростить создание APKs, которые соответствуют нескольким общим конфигурациям и используют структуру проекта, которая может развиваться до полного проекта Android Studio, Если вы решите принять его таким образом.


проще говоря, Gradle-это инструмент, предоставляемый Android Studio для реализации двух важных процессов:

  1. создаем наши проекты
  2. Пакет AndroidManifest.xml, папка res и двоичный код в специально отформатированный zip-файл под названием APK

Gradle = Заводной + Колыбель Ханс Доктер форум комментарий

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

нам нравится усложнять себе жизнь в сообществе разработчиков.