Gradle трохи заплутано для мене, а також для будь-якого нового розробника Android. Хтось може пояснити, що таке Gradle в Android Studio і яка його мета? Чому він включений в Android Studio?
Gradle трохи заплутано для мене, а також для будь-якого нового розробника Android. Хтось може пояснити, що таке Gradle в Android Studio і яка його мета? Чому він включений в Android Studio?
Відповіді:
Gradle - це система побудови.
До Android Studio ви використовували Eclipse для своїх цілей розробки, і, швидше за все, ви не знали, як створити Android APK без Eclipse.
Це можна зробити в командному рядку, але ви повинні дізнатися, що робить кожен інструмент (dx, aapt) у SDK. Eclipse врятувало нас усіх від цих низьких, але важливих, фундаментальних деталей, давши нам власну систему побудови.
Тепер ви коли-небудь замислювалися, чому res
папка знаходиться в тому ж каталозі, що і ваша src
папка?
Ось тут система побудови входить у зображення. Система збирання автоматично приймає всі вихідні файли ( .java
або .xml
), потім застосовує відповідний інструмент (наприклад, бере java
файли класу та перетворює їх у dex
файли) та об'єднує їх у один стислий файл, наш улюблений APK.
Ця система побудови використовує деякі умовні умови: приклад одного - вказати каталог, що містить вихідні файли (у Eclipse це \src
папка) або файли ресурсів (у Eclipse це \res
папка).
Тепер для автоматизації всіх цих завдань повинен бути сценарій; ви можете написати власну систему побудови за допомогою скриптів оболонок у Linux та синтаксису пакетних файлів у Windows. Зрозумів?
Gradle - це ще одна система побудови, яка бере найкращі характеристики інших систем збирання та поєднує їх в одну. Це покращується виходячи з їх недоліків. Це система побудови на базі JVM. Це означає, що ви можете написати свій власний сценарій на Java, яким користується Android Studio.
Хороша річ у gradle - це те, що це плагінова система . Це означає, що якщо у вас є власна мова програмування, і ви хочете автоматизувати завдання зі створення певного пакету (наприклад, JAR для Java) з джерел, тоді ви можете написати повний плагін на Java або Groovy (або Kotlin, див. Тут ), і розповсюджуйте його на інший світ.
Google побачив одну з найсучасніших систем побудови на ринку і зрозумів, що ви можете писати власні сценарії з мало кривою навчання і без вивчення Groovy чи будь-якої іншої нової мови. Тому вони написали плагін для Android для Gradle.
Напевно, ви бачили build.gradle
файли (файли) у своєму проекті. Саме тут ви можете писати сценарії для автоматизації завдань. Код, який ви бачили в цих файлах, - код Groovy. Якщо ви пишете, System.out.println("Hello Gradle!");
то він буде надрукований на вашій консолі.
Простий приклад - вам доведеться копіювати деякі файли з одного каталогу в інший до того, як відбудеться фактичний процес збирання. Сценарій побудови Gradle може це зробити.
Це новий інструмент побудови, який Google хоче використовувати для Android. Він використовується завдяки тому, що він більш розтяжний та корисний, ніж мураха. Він призначений для покращення досвіду для розробників.
Ви можете переглянути розмову Xavier Ducrohet з Команди розробників Android на вході / виводу Google тут.
Також є ще одна розмова на Android Studio від Xavier і Tor Norbye, також під час вводу / виводу Google .
Gradle - це система збірки, що працює на Android Studio .
Наприклад, іншими мовами:
Gradle
це схоже make
, я щойно зрозумів його поняття
Ось детальне пояснення щодо того, що Gradle
таке і як ним користуватися в Android Studio.
Вивчення файлів Gradle
Файли збірки Gradle
Файли збирання Gradle використовують a Domain Specific Language or DSL
для визначення користувальницької логіки збирання та взаємодії з елементами Android для плагіна для Gradle.
Проекти Android Studio складаються з 1 або більше модулів, які є компонентами, які ви можете самостійно створити, протестувати та налагодити. У кожного модуля є власний файл збірки, тому кожен проект Android Studio містить 2 види файлів збірки Gradle.
Файл збірки верхнього рівня: тут ви знайдете параметри конфігурації, спільні для всіх модулів, що складають ваш проект.
Файл збірки на рівні модуля : У кожного модуля є власний файл збірки Gradle, який містить налаштування збірки, характерні для модуля. Ви витратите більшу частину часу на редагування файлів (-ів) збірки на рівні модуля, а не файлів збірки верхнього рівня вашого проекту.
Щоб переглянути ці build.gradle
файли, відкрийте панель проекту Android Studio (вибравши вкладку Проект) та розгорніть папку сценаріїв Gradle. Перші два елементи в папці сценаріїв Gradle - це файли збірки Gradle на рівні проекту та модуля
Файл збірки Gradle верхнього рівня
Кожен проект Android Studio містить єдиний файл збірки Gradle верхнього рівня. Цей build.gradle
файл є першим елементом, який з’являється в папці сценаріїв Gradle і чітко позначений Project.
Здебільшого вам не потрібно вносити жодних змін у цей файл, але все-таки корисно зрозуміти його вміст та роль, яку він відіграє у вашому проекті.
Файли збірки Gradle на рівні модуля
Окрім файлу збірки Gradle на рівні проекту, кожен модуль має власний файл збірки Gradle. Нижче наведена анотована версія основного файлу збірки Gradle на рівні модуля.
Інші файли Gradle
На додаток до файлів build.gradle, ваша папка Gradle Scripts містить деякі інші файли Gradle. Більшу частину часу вам не доведеться редагувати ці файли вручну, оскільки вони автоматично оновлюються під час внесення будь-яких відповідних змін у проект. Однак, непогано зрозуміти роль цих файлів у вашому проекті.
gradle-wrapper.properties (версія Gradle)
Цей файл дозволяє іншим людям створювати ваш код, навіть якщо на їх машині не встановлено Gradle. Цей файл перевіряє, чи встановлена правильна версія Gradle та завантажує необхідну версію, якщо це необхідно.
settings.gradle
Цей файл посилається на всі модулі, що складають ваш проект.
gradle.properties (Властивості проекту)
Цей файл містить інформацію про конфігурацію для всього проекту. Він за замовчуванням порожній, але ви можете застосувати широкий спектр властивостей до свого проекту, додавши їх у цей файл.
local.properties (SDK Location)
Цей файл повідомляє плагін Android Gradle, де він може знайти вашу установку Android SDK.
Примітка: local.properties
містить інформацію, специфічну для локальної установки Android SDK. Це означає, що ви не повинні тримати цей файл під контролем джерела.
Пропоноване читання - Навчальний посібник "Тутпул"
З цього я зрозумів чітке розуміння граду.
Gradle - це один із типів інструменту побудови, який будує вихідний код програми. Отже, це важлива частина Android Studio, і її потрібно встановити, перш ніж розпочати розробку програми.
Нам не доведеться встановлювати його окремо, оскільки Android Studio це робить для нас, коли ми робимо наш перший проект.
Визначення :: Gradle можна описати структурований механізм будівлі , де він надає розробник інструментів і гнучкість в управлінні ресурсами проекту створення Складання smaller in size
, targeting specific requirements
для деяких пристроїв певних конфігурацій
ОСНОВНІ КОНФІГУРАЦІЇ
minimumSdk
maximumSdk
targettedSdk
versionCode
versionName
БІБЛІОТЕКИ: Ми можемо додати додаткові бібліотеки для Android або будь-які інші бібліотеки сторонніх виробників, відповідно до вимог, що було важким завданням раніше. Якщо бібліотека не підходить до існуючого проекту, розробнику показується журнал, де людина може знайти відповідне рішення для внесення змін до проекту, щоб бібліотеку можна було додати. Це лише одна лінія залежності
УЗАГАЛЬНУЄМО ВАРТЕТИ БУДІВЕЛЬ
Поєднання типів збірки з ароматами побудови для отримання різноманітних варіантів складання
==================== ====================
| BuildTypes | | ProductFlavours |
-------------------- ====================== --------------------
| Debug,Production | || || | Paid,Free,Demo,Mock|
==================== || || ====================
|| ||
VV VV
=================================================================
| DebugPaid, DebugFree, DebugDemo, DebugMock |
| ProductionPaid, ProductionFree, ProductionDemo, ProductionMock |
=================================================================
Зменшення розміру
Gradle допомагає зменшити розмір створеної збірки, видаляючи невикористані ресурси, а також невикористані речі з інтегрованих бібліотек
УПРАВЛІННЯ ДОГЛЯДАМИ
Ми можемо вказати певні дозволи для певних збірок, додавши певні дозволи в певних сценаріях на основі вимог
БУДІВНІ ДЛЯ деяких пристроїв
Ми можемо керувати генерацією збірки для певних пристроїв, що включають певну щільність та певний рівень api. Це допомагає в розгортанні продукту в магазині додатків відповідно до вимог на різних типах пристроїв
ДОБРИЙ СПИСОК
Ви можете знайти все, що вам потрібно знати про Gradle, тут: Посібник користувача Gradle Plugin
Цілі нової системи побудови
Цілями нової системи побудови є:
- Спростіть повторне використання коду та ресурсів
- Спростіть створення декількох варіантів програми, або для багатоповерхового розповсюдження, або для різних смаків програми
- Спростіть налаштування, розширення та налаштування процесу збирання
- Гарна інтеграція IDE
Чому Градле?
Gradle - це вдосконалена система збірки, а також розширений інструментарій збірки, що дозволяє створювати власну логіку побудови за допомогою плагінів.
Ось деякі його особливості, які змусили нас обрати Gradle:
- Мова для домену (DSL) для опису та маніпулювання логікою побудови
- Файли побудови створені на основі Groovy і дозволяють змішувати декларативні елементи через DSL та використовувати код для маніпулювання елементами DSL для забезпечення користувацької логіки.
- Вбудований менеджмент залежності через Мейвен та / або Плющ.
- Дуже гнучка. Дозволяє використовувати передовий досвід, але не примушує свій власний спосіб робити.
- Плагіни можуть відкрити власний DSL та власний API для створення файлів, що використовуються.
- Хороший API інструментів, що дозволяє інтегрувати IDE
Я пишу два підручника, щоб написати відповідь один , два
Gradle - це загальний засіб, декларативний інструмент побудови. Це загальне призначення, оскільки з його допомогою можна будувати майже все, що вам важливо реалізувати в сценарії збірки. Це декларативне значення, оскільки ви не хочете бачити безліч кодів у файлі збірки, який не читабельний і менш ремонтопридатний. Таким чином, хоча Gradle надає ідею конвенцій та просту та декларативну побудову, він також робить інструмент пристосованим та розробникам можливість розширювати. Він також пропонує простий спосіб налаштувати поведінку за замовчуванням та різні гачки, щоб додати будь-які сторонні функції.
Gradle поєднує в собі хороші частини обох інструментів і надає додаткові функції та використовує Groovy як мову, що визначає домен (DSL). Він володіє потужністю та гнучкістю інструмента «Мураха» з такими функціями, як життєвий цикл побудови та простота використання.
Чому Градле? Чому зараз?
Відповідь інструменту збирання полягає у додаванні функцій сценаріїв через нестандартні механізми розширення. Ви закінчуєте змішування коду сценарію з XML або виклику зовнішніх скриптів зі своєї логіки збирання. Неважко уявити, що з часом вам потрібно буде додавати все більше і більше спеціального коду. Як результат, ви неминуче вводите випадкові складності, а ремонтопридатність виходить у вікно.
Скажімо, ви хочете скопіювати файл у певне місце під час створення версії свого проекту. Щоб визначити версію, ви перевіряєте рядок у метаданих, що описують ваш проект. Якщо він відповідає певній схемі нумерації (наприклад, 1.0-RELEASE), ви копіюєте файл з точки А в точку В. З зовнішньої точки зору це може здатися тривіальною задачею. Якщо вам доводиться покладатися на XML, мова побудови багатьох традиційних інструментів, висловити цю просту логіку стає досить складно.
Еволюція інструментів побудови Java
Логіка побудови Java повинна бути описана в XML. XML чудово підходить для опису ієрархічних даних, але не вистачає на вираження потоку програми та умовної логіки. Оскільки сценарій складання зростає у складності, підтримка будівельного коду стає кошмаром.
У Ant ви робите ціль JAR залежною від цілі компіляції. Мураха не дає ніяких рекомендацій щодо структури свого проекту. Хоча це забезпечує максимальну гнучкість, Ant робить кожен сценарій збірки унікальним і важким для розуміння. Зовнішні бібліотеки, що вимагаються вашим проектом, зазвичай перевіряються на контроль версій, оскільки не існує автоматизованого механізму, який дозволяє їх витягувати з центрального місця.
Maven 1 , що вийшов у липні 2004 року, намагався полегшити цей процес. Він забезпечив стандартизовану структуру проектів і каталогів, а також управління залежностями. На жаль, користувацьку логіку важко реалізувати
Gradle вписується прямо в таке покоління інструментів побудови та задовольняє багато вимог сучасних інструментів побудови (рис. 1). Він забезпечує виразний DSL, конвенцію щодо конфігураційного підходу та потужне управління залежностями. Це робить правильним рухом відмовитися від XML і ввести динамічну мову Groovy, щоб визначити вашу логіку побудови. Звучить переконливо, чи не так?
Gradle поєднує в собі найкращі характеристики інших інструментів побудови.
Набір функцій Gradle's Compelling Feature
Навіщо будувати ваші Java проекти за допомогою Gradle, а не Ant або Maven?
Інструмент збірки за замовчуванням для Android (і нова зірка інструментів збирання на JVM) призначений для полегшення сценаріїв складних, багатомовних збірок. Чи варто вам змінити його, якщо ви використовуєте Ant або Maven?
Ключ до розблокування функцій живлення Gradle у вашому сценарії збірки полягає у виявленні та застосуванні його доменної моделі, як показано на малюнку нижче.
Gradle не може знати всіх вимог, характерних для вашого підприємства. Розкриваючи гачки на фазах життєвого циклу, Gradle дозволяє контролювати та конфігурувати поведінку виконавчого сценарію.
Градле встановлює словник для своєї моделі, розкриваючи DSL, реалізований в Groovy. При роботі зі складною проблемною областю в цьому випадку завданням побудови програмного забезпечення, вміння використовувати загальну мову для вираження вашої логіки може бути потужним інструментом.
Інший приклад - спосіб вираження залежностей від зовнішніх бібліотек - дуже поширена проблема, вирішена інструментами побудови. Графічний Gradle надає вам два блоки конфігурації для сценарію збирання, які дозволяють визначати залежності та сховища, з яких ви хочете отримати їх. Якщо стандартні елементи DSL не відповідають вашим потребам, ви навіть можете ввести свій власний словник через механізм розширення Gradle.
Інтеграція з іншими інструментами побудови
Градле добре грає з попередниками «Мураха, Мейвен та Плющ», як показано на зображенні нижче.
Автоматизація проекту від побудови до розгортання
На зображенні: Етапи трубопроводу розгортання.
Складання коду
Запуск блоку та інтеграційні тести
Виконання статичного аналізу коду та генерування тестового покриття
Створення розподілу
Забезпечення цільового середовища
Розгортання результатів
Виконання диму та автоматизованих функціональних випробувань
Gradle - це система побудови . Системи побудови - це програмні засоби, призначені для автоматизації процесу складання програми. Системи збирання бувають різних форм і використовуються для різноманітних завдань зі створення програмного забезпечення. Хоча їх основна мета - ефективне створення виконавчих файлів.
Іншим пов'язаним терміном є автоматизація побудови, яка є процесом автоматизації створення програмного забезпечення та пов'язаних з ними процесів, включаючи: складання вихідного коду комп'ютера у двійковий код, упаковку бінарного коду та запуск автоматизованих тестів.
Трохи схожа система складання для інших мов (див. Повний список тут ):
Я ризикую бути дискурсивним, я думаю, що за цим стоїть питання, чому досвід Android Studio / Gradle такий поганий.
Типовий досвід Clojure:
Типовий досвід Android Studio / Gradle:
Я не впевнений, що саме в цьому винна Градле. Але "імпорт із проекту Eclipse" здається досить кричущим. Незважаючи на всю передбачуваність вишуканості Gradle та чесноти системи складання, Android Studio просто не здається дуже добре імпортувати залежності побудови чи процес збирання з Eclipse.
Він не повідомляє вам, коли не вдалося імпортувати повний графік залежності. Android Studio не надає корисної допомоги та порад щодо вирішення проблеми. Це не говорить вам, де ви можете вручну шукати папки Eclipse. Це не говорить вам, яка бібліотека, здається, відсутня. Або допомогти вам знайти Maven тощо.
У 2016 році такі речі, як Leiningen / Clojars, або npm npm, або Python's pip, або Debian apkg (і я впевнений, що багато подібних менеджерів пакетів для інших мов і систем) усі прекрасно працюють ... відсутні залежності залежать від минулого.
За винятком Android. Зараз Android Studio є єдиним місцем, де я, здається, переживаю пекло відсутньої залежності.
Я схильний сказати, що це вина Google. Вони порушили екосистему Android (і тисячі існуючих проектів Android / онлайн-підручники), коли вони кавалерно вирішили перейти від Eclipse до Android Studio / Gradle, не виробляючи надійного процесу перетворення. Люди, проекти яких працюють в Eclipse, не пристосовують їх до AS (імовірно, тому, що це біль для них). І люди, які намагаються використовувати ці проекти в AS, торкаються тих же проблем.
І як би там не було, якщо Gradle - це надпотужна система побудови, чому я все ще керую цілою низкою інших залежностей у менеджера sdk? Чому не може проект, який потребує, скажімо, ndk вказати це у своєму файлі Gradle, щоб він автоматично встановлювався та вбудовувався, коли це потрібно? Чому NDK особливий? Аналогічно для цільових платформ? Чому я встановлюю їх явно в IDE, а не просто перевіряю мій проект проти них і все це впорядковую для мене за кадром?
Gradle
це вдосконалена система збірки, а також розширений інструментарій збірки, що дозволяє створювати власну логіку збірки за допомогою плагінів!
Переваги:
Маніфестні записи
Через DSL можна налаштувати такі записи маніфесту:
Варіант побудови
За замовчуванням плагін Android автоматично налаштовує проект зі створення як налагодження, так і версії версії програми.
Залежності
Якщо у вашій локальній файловій системі є двійкові архіви, від яких залежить модуль, наприклад, файли JAR, ви можете оголосити ці залежності у файлі збірки для цього модуля.
Спочатку сховище має бути додане до списку, а потім залежність повинна бути оголошена таким чином, що Мейвен чи Айві оголошують свої артефакти.
Gradle - це мова Groovy JVM, що мураха до Яви. В основному, це інструмент побудови Groovy. На відміну від Ant, він заснований на повній мові Groovy. Наприклад, ви можете написати код сценарію Groovy в сценарії Gradle, щоб зробити щось, а не спиратися на певну мову домену.
Я не знаю конкретної інтеграції IntelliJ, але уявіть, що ви могли б "розширити" Groovy таким чином, щоб ви могли написати конкретні "побудувати" мовні примітиви, і вони просто стали частиною мови Groovy. (Метапрограмування Groovy - це ціла дискусія для себе.) IntelliJ / Google міг би використовувати Gradle для створення дуже високого рівня побудови мови, але це мовна побудова на відкритому стандарті, що розширюється.
Gradle - це вдосконалений інструментарій побудови для android, який управляє залежностями та дозволяє визначити власну логіку побудови. особливості схожі
Налаштувати, налаштувати та розширити процес збирання.
Створіть кілька програм APK для свого додатка з різними функціями, використовуючи один і той же проект.
Повторне використання коду та ресурсів.
Gradle - це автоматизований набір інструментів побудови, який може інтегруватись у безліч різних середовищ не лише для проектів Android.
Ось декілька речей, які ви можете зробити з Gradle.
Мінімальна конфігурація необхідна для нових проектів, оскільки Gradle має конфігурації за замовчуванням для ваших проектів андроїд-студії.
Декларація про залежність. Ви можете оголосити файли jar-файлів залежностей або файли бібліотеки, розміщені на локальному або віддаленому сервері.
Gradle автоматично генерує тестовий каталог та тестовий APK з джерела вашого проекту.
Якщо ви додасте всю необхідну інформацію, таку як, keyPassword
і keyAlias
у свій файл збірки Gradle, ви можете використовувати Gradle для створення підписаних APK-файлів.
Gradle може генерувати декілька APK з різними пакетами та створювати конфігурації з одного модуля.
В Android Studio, Gradle - це спеціальний інструмент збирання, який використовується для створення пакетів Android (apk-файлів), керуючи залежностями та надаючи власну логіку побудови.
APK-файл (додаток для Android) - це спеціально відформатований поштовий файл, який містить
АПК-файл підписується та передається на пристрій за допомогою ADB (Android Debug Bridge), де він виконується.
Gradle - це спеціальний інструмент побудови, який використовується для створення APK або відомий як набір пакетів додатків.
автор @Brian Gardner:
Gradle - це великий інструмент побудови та менеджер залежностей для програмування проектів. Він має специфічну для домену мову на основі Groovy. Gradle також забезпечує підтримку побудови за конвенцією для багатьох типів проектів, включаючи Java, Android та Scala.
Особливість Gradle:
Gradle - це те, що дозволяє автоматизувати створення складних проектів Android, які включають 10 тисяч тисяч рядків коду з різних джерел, проектів, бібліотек тощо. Він може умовно генерувати декілька оптимізованих APK на основі безлічі специфікацій конфігурації - якщо ви зацікавившись, інші відповіді надають більш детальну інформацію про цей аспект Gradle.
Однак якщо ви новачок у розробці Android, Gradle у 99% випадків зупиняє ваш проект. Це непроборлива, складна система, яка ефективно обтяжує процес збирання Android і по суті робить його недоступним недосвідченим розробникам, тобто для того, щоб створити простий додаток для Android на початковому рівні, малодосвідчуваному новачкові може знадобитися вивчити та зрозуміти багато речей, на які вони не торгувалися. як от:
Усі ці речі цікаві та корисні для розробників Android, але вони знаходяться далеко не просто та створюють грізну перешкоду для входу. Я підозрюю, що те, що надихнуло ОП на те, щоб задати це питання, - це почуття розчарування, яке неминуче вражає розробника-неофіта, витрачаючи занадто довгий час на спроби отримати просте додаток, яке можна побудувати і постійно його перешкоджає Gradle. Проблема все більше посилюється величезною кількістю високо технічної документації, яка доступна для всіх цих технологій. Також для великої кількості потреб у розвитку Gradle є надмірною.
Альтернативою є написання сценарію оболонки, який будує ваш проект, автоматизуючи інструменти, доступні в Android SDK. Чеснот цього підходу багато, для початківців - це, мабуть, найкращий спосіб вивчити та зрозуміти процес збирання та екосистему Android, і він дозволяє повністю контролювати, як побудований ваш додаток. Однак цей підхід більше підходить для глибоко непридатних технічних голів, ніж для недосвідчених ноубдів, які пробують андроїд.
Очевидним є його відсутність (будь ласка, повідомте мене, чи є така річ) - початковий рівень, легкий IDE зі зменшеним набором функцій, який одночасно спрощує процес збирання, не затушовуючи його (так що не netbeans або затемнення), можливо, все ще використовуйте Gradle (що було не так з Ant). Слід спростити створення APK, які відповідають декільком загальним конфігураціям та використовують структуру проекту, яка може перетворитись на повноцінний проект Android Studio, якщо ви вирішите скористатись цим способом.
Простіше кажучи, Gradle - це інструмент, який надає Android Studio для реалізації двох важливих процесів:
Результати пошуку Рекомендований фрагмент з Інтернету Android | будувати. градле. Gradle - це система збирання (з відкритим кодом), яка використовується для автоматизації побудови, тестування, розгортання тощо. Наприклад, просте завдання з копіювання деяких файлів з одного каталогу в інший може виконувати сценарій збирання Gradle перед фактичною збіркою процес відбувається.
В Android Studio Gradle використовується для побудови наших прикладних проектів для Android, отже грає роль системи складання. Перед Android Studio, у програмі Eclipse, ми збирали та створювали програми за допомогою інструмента командного рядка, який незабаром перейняли кроки на основі GUI для створення та запуску програм Android у затемненні за допомогою ANT. Кожен інструмент розробки додатків для Android має збирати ресурси, вихідний код Java, зовнішні бібліотеки та комбінувати їх у остаточний APK.
Gradle - це система збирання, яка відповідає за збірку, тестування, розгортання та перетворення коду у файли .dex і, отже, запуск програми на пристрої.
Оскільки Android Studio поставляється із попередньо встановленою системою Gradle, для створення нашого проекту немає необхідності встановлювати додаткові програмні засоби для виконання. Щоразу, коли ви натискаєте на кнопку в студії Android, завдання gradle автоматично запускається і починає складати проект, і після того, як gradle виконає своє завдання, додаток запускається в AVD або на підключеному пристрої.
Така система збирання, як Gradle, не є компілятором, лінкером тощо, але вона контролює і контролює роботу компіляції, зв’язування файлів, запуску тестових випадків і, в кінцевому рахунку, зв’язування коду в apk-файл для вашої програми Android.
Існує два файли build.gradle для кожного проекту студії Android, один - для програми та інший для файлів збірки проекту (рівень модуля) .
У процесі збирання компілятор бере вихідний код, ресурси, зовнішні бібліотеки JAR-файлів та AndroidManifest.xml (які містять метадані про програму) та перетворює їх у файли .dex (виконавчі файли Dalvik) , що включає байт-код . Цей байт-код підтримується всіма пристроями Android для запуску вашої програми. Тоді APK Manager поєднує .dex файли та всі інші ресурси в єдиний apk-файл. APK Packager підписує налагодження або випускає apk, використовуючи відповідну налагоджувальну або випускну сховище ключів.
Налагодження apk зазвичай використовується для тестування, або ми можемо сказати, що він використовується лише на етапі розробки. Коли у вашому додатку є бажані функції, і ви готові опублікувати свою програму для зовнішнього використання, тоді вам потрібна APK-версія випуску, підписана за допомогою магазину ключів випуску.
Тепер давайте пролити трохи світла на файли gradle.
setu.gradle Файл settings.gradle (налаштування Gradle) використовується для визначення всіх модулів, які використовуються у вашій програмі.
build.gradle (рівень проекту) Файл верхнього рівня (модуля) build.gradle - файл збірки на рівні проекту, який визначає конфігурації збірки на рівні проекту. Цей файл застосовує конфігурації для всіх модулів в проекті Android.
build.gradle (рівень програми) Файл build.gradle рівня програми знаходиться у кожному модулі проекту Android. Цей файл включає ім'я вашого пакета як applicationID, ім'я версії (apk версія), код версії, мінімальний та цільовий sdk для конкретного модуля програми. Коли ви включаєте зовнішні бібліотеки (а не файли jar), то вам потрібно згадати їх у файлі gradle рівня програми, щоб включити їх у свій проект як залежність програми.
Примітка: Якщо певна програма розробляється у варіаціях для окремих модулів, таких як Smart Phone, Tablet або TV, тоді слід створити окремі файли gradle для всіх. Ви навіть можете запустити систему Gradle через інструмент командного рядка . Для нього використовуються наступні команди:
./gradlew збірка - (проект збірки)
./gradlew чиста збірка - (збірка проект повної подряпина)
./gradlew чистої збірки - (запустити тест)
./gradlew обгортки - (щоб побачити всі доступні завдання)
Gradle = Groovy + коментар форуму Ганса Доктера на форумі
Плутанина трохи непотрібна, коли її можна було просто назвати "Збірка" чи щось в Android Studio.
Ми любимо ускладнювати себе в спільноті «Розвиток».