Как открыть файл gradle
Не удается открыть файл GRADLE? Ты не единственный. Тысячи пользователей ежедневно сталкиваются с подобными проблемами. Ниже вы найдете советы по открытию файлов GRADLE, а также список программ, поддерживающих файлы GRADLE.
GRADLE расширение файла
Имя файла | Android Studio Build Data Format |
---|---|
Категория файла | Файлы разработчика |
Файл GRADLE поддерживается в операционных системах 1. В зависимости от вашей операционной системы вам может потребоваться другое программное обеспечение для обработки файлов GRADLE. Ниже приводится сводка количества программ, которые поддерживают и открывают файл GRADLE на каждой системной платформе.
Операционные системы
Что такое файл GRADLE?
Как открыть файл GRADLE?
Первое, что вам нужно сделать, это просто «дважды щелкнуть » по значку файла GRADLE, который вы хотите открыть. Если в операционной системе есть соответствующее приложение для ее поддержки, а также существует связь между файлом и программой, файл следует открыть.
Шаг 1. Установите Android Studio
Проблема, о которой часто забывают, - убедиться, что на компьютере установлен Android Studio. Самый простой способ - использовать поисковую систему системы, введя в ней название программы Android Studio. Если у нас нет этой программы, стоит ее установить, так как она поможет вам автоматически связать файл GRADLE с Android Studio. Ниже приведен список программ, поддерживающих файл GRADLE.
Программы для открытия файла GRADLE
Не забывайте загружать программы, поддерживающие файлы GRADLE, только из проверенных и безопасных источников. Предлагаем использовать сайты разработчиков программного обеспечения.
Android Studio
Шаг 2. Создайте ассоциацию Android Studio с файлами GRADLE.
Если приложение установлено или было недавно установлено, но файл GRADLE по-прежнему не использует программу Android Studio, это означает отсутствие ассоциации. Эта опция доступна на уровне свойств конкретного файла, доступном в контекстном меню. В окне, помимо прочего, будет отображаться тип файла и информация, с помощью которой программа используется для запуска файла. С помощью кнопки «Изменить» мы можем выбрать желаемую программу. Если в списке нет программного обеспечения, просто выберите «Обзор» и вручную выберите каталог, в котором установлено приложение. Однако важно установить флажок «Всегда использовать выбранную программу . », это позволит вам навсегда связать файл GRADLE с приложением Android Studio.
Шаг 3. Обновите Android Studio до последней версии.
Неисправность также может быть связана с программой Android Studio, возможно, что Android Studio Build Data Format требует более новую версию программы. Это можно сделать с помощью приложения (если оно предоставляет такие возможности) или с веб-сайта Google Inc. и установить последнюю версию.
Шаг 4. Проверьте наличие следующих проблем с файлом GRADLE.
Проблема также может быть связана с самим файлом, если описанные выше действия не работают. Файловые проблемы можно разделить на следующие:
Было бы здорово, если Android Studio по вводу команды или по нажатию на кнопку автоматически собирал подписанный APK за вас, загружал его в Google Play Store и обновлял вас на вашей любимой платформе? Всего этого вы можете достичь, написав специальные задачи для каждой функции. Но что, если вы хотите сделать все то же самое, но для нескольких модулей или проектов? Тут-то на помощь и приходит использование плагина Gradle.
В сегодняшней статье мы напишем свой плагин Gradle. Он изменит название APK, переместит APK в вами выбранное место и создаст текстовый файл, в котором плагин добавит все зависимости для всех ваших APK, созданных с использованием этого плагина.
В процессе вы изучите следующие разделы:
- Задачи для Gradle
- Плагины для Gradle
- Разные способы завернуть плагин
- Объявление плагина локально
Итак, начнем
Загрузите материалы, используя кнопку «Загрузить материалы» вверху или внизу этой статьи. Распакуйте и откройте стартовый проект в вашей директории под названием ProjectTracker в Android Studio.
Запустите. Вы увидите что-то похожее на:
Это очень простое и понятное приложение. Когда пользователь что-то вводит в текстовое поле и нажимает на кнопку Enter Value, текст появляется на экране. Вот и все!
Вам не нужно беспокоиться о том, что происходит в приложении, так как вы будете работать с директорией buildSrc и файлами build.gradle .
Перед тем, как занырнуть в код и испачкать руки, очень важно понять, что такое Gradle и как создавать плагины с его помощью.
Что такое Gradle?
Gradle – это система автоматизации сборки с открытым исходным кодом, которая позволяет вам вникать в процесс сборки и ее логику. Например, когда вы собираете приложение, именно Gradle компилирует весь код и создает APK за вас. В этой статье вы вникните в процесс сборки и кастомизируете его под свои нужды.
Задачи для Gradle
У Gradle есть задачи, и каждая из них представляет собой мелкую часть работы по сборке. Вы можете как создать произвольное задание, так и написать плагин, содержащий в себе несколько таких задач.
Чтобы увидеть все задачи, запустите ./gradlew tasks в терминале из корневой папки с проектом. Будут напечатаны все задачи:
Вы можете написать свою собственную задачу на модульном уровне файла build.gradle. Вот пример, найденный внутри директории приложения. Откройте его и добавьте код после блока plugins :
Метод doLast очень важен здесь, так как он сообщает Gradle выполнить действие, только когда задача вызвана. Без этого вы будете выполнять это действие во время конфигурации при каждый сборке. На деле также есть метод doFirst , который можно переписать. Если у вас есть:
Тогда после запуска ./gradlew printSomething будет выведено:
Наличие методов doFirst и doLast позволяет расширять задачи и выполнять функционал в определенных часть жизненного цикла задачи.
Сборка плагина
Итак, вы знаете, что такое Gradle, каковы его задачи и как их увидеть. Вы также создали свою задачу и выполнили ее. Следующим по списку будет Gradle плагин. Этот плагин не более, чем комбинация из задач, которые вы хотели бы выполнить вместе. Есть несколько способов написать Gradle. Следующий раздел посвящен этому.
Сборочный скрипт
Поместите исходник плагина напрямую в файл build.gradle. Одно из преимуществ данного подхода является то, что класс автоматически компилируется и добавляется в путь класса этого скрипта. При этом вам не нужно что-либо конфигурировать. К недостатку можно отнести невозможность переиспользования плагина в другом модуле.
buildSrc проект
Еще способ – это поместить исходник плагина в директорию rootProjectDir/buildSrc/src/main/java. Пользой этого является возможность использовать плагин во всем проекте без привязки к какому-то конкретному модулю. Тем не менее, необходимо добавить несколько файлов, чтобы все заработало, а плагин не получится применить вне проекта.
Standalone проект
Вы также можете создать отдельный проект для плагина. Преимущество – после сборки проекта создается файл JAR, и он может быть использован в других ваших проектах Android Studio. Недостаток – для создания проекта с плагином Gradle вам необходимо использовать отдельный IDE (например, IntelliJ), а не Android Studio.
В этих примерах вы начнете с плагина в сборочном скрипте для простоты. Затем вы создадите buildSrc и standalone проекты.
Создание плагина в сборочном скрипте
Удалите ранее созданную задачу printSomething, так как плагин выполняет ту же работу.
Для создания плагина в сборочном скрипте добавьте следующие строчки в конец файла build.gradle:
Вы создали класс, который имплементирует generic класс Plugin и используется Project в виде параметра. Это вызовет метод apply класса плагина, а метод будет иметь тип Project в виде параметра. Вы можете использовать это для конфигурации проекта по вашему усмотрению. Внутри apply напишите задачу, используя параметр проекта.
Ваш плагин готов, но вы еще не применили его в проекте. Для этого напишите следующее в конце файла build.gradle:
Теперь вы можете выполнить команду ./gradlew -q printSomething в терминале и увидеть тот же результат.
Поздравляю! Вы создали свой первый плагин и можете вызывать задачу прямо из терминала 😊. Но этот плагин только печатает предложение и никак не конфигурирует проект. Ко всему прочему его можно использовать только в одном модуле. Отмените изменения, сделанные в этом разделе, и читайте далее, как создать плагин, используя директорию buildSrc.
Создание плагина, используя директорию buildSrc
Теперь создадим плагин по-другому. Сначала создайте директорию buildSrc в корне проекта. Именно там будет вся логика по сборке. А так, как она поддерживает Kotlin DSL, вы можете писать плагин на Kotlin.
Внутри новой директории создайте файл build.gradle.kts. Внутри этого файла добавьте код:
Итак, что же здесь происходит? Для начала buildSrc – это та директория, на которую Gradle обращает внимание при компиляции. Если он находит специальный сборочный код, то добавляет его в путь класса.
В этом файле вы применяете плагин kotlin-dsl, но при попытке синхронизировать проект с его добавлением ничего не будет работать. Нужно также добавить mavenCentral() в repositories , потому что именно тут находится плагин. После добавления этих строчек синхронизируйте проект, и вы заметите еще несколько директорий в папке buildSrc. Структура вашего проекта будет выглядеть как-то так:
Это значит, что ваш файл build.gradle.kts был успешно добавлен в путь класса Gradle. Далее правой кнопкой мышки нажмите на папку buildSrc и выберете New ▸ Directory и далее src/main/java.
Здесь можно начать писать плагины на Kotlin, и все модули будут иметь доступ к ним. Откройте папку java и создайте класс на Kotlin BuildManager, который имплементирует Plugin.
Вы можете создавать задачи внутри метода apply по примеру того, как вы это делали в модуле build.gradle ранее. Для этого вы создадите задачу, которая не только распечатывает предложение.
Внутри apply добавьте этот код:
Добавьте import для класса File вверху файла:
Вы создаете задачу под названием renameApk и в этом классе находите расположение вашего APK, и затем переименовываете его. Но что, если APK еще не был создан? Или что, если вы удалили файл по какой-то причине? В этом случае последняя строка .dependsOn("build") приходит на помощь. Эта функция создаст зависимость в задаче build, которая предоставит APK.
В коде выше вы регистрируете ваш плагин путем использования одного из расширений функций – gradlePlugin. Используя функцию create, можно сообщить имя, ID, версию и ссылку на плагин класса, который вы создали.
Вот и все! Синхронизируйте проект, запустите ./gradlew clean для очистки директории build и выполните задачу через ./gradlew -q renameApk . Перейдите в папку /app/build/outputs/apk/release и найдите переименованный APK.
Управление зависимостью
Перед добавлением новых фич в ваш плагин вам предстоит немного очистить ваш проект. Создайте новый Kotlin файл в папе java и назовите его Constant. Добавьте этот код:
Классы Dependencies, Version и AppDetail будут использованы для управления зависимостями. Вы также будете применять класс AppDetail и функцию getDate() для добавления нового функционала в ваш плагин. В данный момент все это делается для сборки информации в классах. Далее вы можете перейти в файлы Gradle и обновить ваши зависимости, чтобы они выглядели опрятнее и ими было удобнее управлять.
После этих изменений ваш файл build.gradle будет выглядеть примерно так:
И на верхнем уровне/проектном уровне файл build.gradle будет выглядеть так:
А теперь самое время добавить больше задач в класс плагина.
Добавляем больше задач
Можно создать больше задач в функции apply, как это делали с renameApk, но лучше разделить задачи по разным классам для чистоты кода и переиспользования.
Создайте папку внутри папки java и назовите ее tasks. Внутри нее создайте новый Kotlin класс ManageApk.
В этот класс добавьте:
Расширяя класс с помощью DefaultTask, вы имеете возможность определять ваши собственные задачи. Для этого вам нужно объявить функцию с @TaskAction и затем записать собственную логику внутри. Функция moveFile переместит созданный APK, куда вы захотите (убедитесь, что вы поменяли положение внутри Constans.kt). Ваш класс task готов.
Для его использования в вашем плагине откройте ваш плагин-класс BuildManager и внутри apply() замените существующий код на:
Добавьте также следующие зависимости:
Вы только что зарегистрировали задачу, которую создали в вашем классе ManageApk в вашем плагин-классе. Задача будет выполнена при вызове renameApk. Последнее зависит от задачи build.
Теперь синхронизируйте и запустите ./gradlew clean для очистки проекта. В терминале запустите ./gradlew -q renameApk , и ваш APK будет переименован согласно имени, данному приложению в Constant.kt. Его суффикс должен быть сегодняшней датой и предоставленной вами версией кода. Он также переместит APK, куда вы захотите.
И финальные штрихи. Создайте ManageDependency.kt внутри директории tasks и добавьте код:
Эти задачи создадут текстовый файл и добавят все зависимости вашего модуля в файл каждый раз, как вы собираете проект. Но для этого необходимо добавить все эти задачи в плагин-класс. Откройте BuildManager и добавьте следующие строки внутрь функции apply:
И вот так будет выглядет класс BuildManager:
Теперь можно протестировать созданный плагин. Для начала удалите папку newOutput. Запустите ./gradlew clean для удаления директории со сборкой и затем вызовите ./gradlew -q createBuild в терминале для теста.
На этом все по созданию плагина Gradle в buildSrc!! Наконец вы изучите как создать плагин в standalone проекте в следующем разделе.
Создание плагина для standalone проекта
Для этого проекта не нужно придумывать что-то хитрое – просто создается плагин, который добавляет текстовый файл и зависимости в этом файле. Создание standalone проекта дает вам возможность публиковать и делиться им с другими. Предпочтительный и самый простой способ – это использование плагина Java Gradle. Он автоматически добавит зависимость gradleApi() , сгенерирует необходимые дескрипторы плагина в итоговом JAR файле и сконфигурирует Plugin Marker Artifact для пользования после публикации.
Для начала разахрхивируйте и откройте стартовый проект с названием ProjectTrackerPlugin в IntelliJ.
В build.gradle добавьте java-gradle-plugin и maven внутри задач plugins. Будет выглядеть примерно так:
Эти два плагина помогут создать плагин и опубликовать его. После внесения изменений загрузите их с помощью команды Command-Shift-I для macOS или Control-Shift-O для ПК. Далее создайте package внутри директории src/main/kotlin и назовите его com.raywenderlich.plugin. Внутри создайте Kotlin класс SaveDependencyTask и расширьте его с DefaultTask().
Создайте companion object и добавьте следующие константы, которые помогут определить, куда сохранить текстовый файл:
Создайте переменную configuration типа Collection и объявите ее с @Input:
Вышеперечисленное позволит вам определить наличие входного значения для этой задачи. Оно будет использовано для передачи списка конфигураций из модуля, использующего плагин, так, что у него будет доступ ко всем зависимостям.
Далее создайте функцию checkDependency и добавьте аннотацию через @Input. Внутри функции:
Этот код во многом похож на тот, что вы написали в плагине buildSrc. Вы проверяете наличие пути и при его отсутствии создаете требуемые директории и файлы.
И, наконец, добавьте оставшиеся функции, которые фактически будут выполнять запись в текстовый файл:
После этого ваша задача готова. Теперь создайте Kotlin класс в той же директории и назовите его SaveDependancy и имплементируйте Plugin. В применимой функции зарегистрируйте созданную задачу:
Вуаля! Вы сделали собственный Gradle плагин в standalone проекте.
Далее посмотрим, как использовать этот плагин в проектах Android Studio.
Публикация плагина в локальную директорию
Ваш плагин готов! Для публикации в вашу локальную директорию откройте файл build.gradle в вашем проекте IntelliJ и добавьте:
После добавления кода снова синхронизируйте изменения Gradle. Эта задача опубликует ваш плагин в желаемом месте. Вы можете выполнить задачу, щелкнув зеленую кнопку воспроизведения рядом с задачей или выполнив команду ./gradlew -q uploadArchives в терминале. Скомпилируйте и запустите, и вы увидите директорию плагина в желаемом месте.
Затем вы будете использовать его в своем проекте Android Studio. Снова запустите проект ProjectTracker и откройте файл build.gradle на уровне проекта. Внутри repositories в блоке buildscript добавьте:
И добавьте в задачу dependencies:
Теперь ваш проект имеет доступ к файлам плагина. Для его применения откройте на уровне модуля файл build.gradle и добавьте следующие строки в файл Gradle:
В итоге вы можете вызвать задачу в файле build.gradle, добавив в самый низ:
Запустите ./gradlew clean для очистки Gradle и вызовите ./gradlew -q writeModuleDependencies . Наслаждайтесь вашим плагином!
Вы можете загрузить окончательный проект, нажав кнопку Download Materials.
Фух! В этом руководстве вы узнали о многих вещах. Теперь вы можете создать свой собственный плагин Gradle и использовать его в разных проектах.
И это еще не все! Чтобы узнать больше о плагине Gradle и о том, что еще вы можете с ним сделать, ознакомьтесь с официальной документацией Gradle.
Gradle — система автоматической сборки, построенная на принципах Apache Ant и Apache Maven. В Eclipse использовалась система Ant, но большинство разработчиков даже не замечало её работы. В основном возможности системы использовались в конторах для автоматизации различных задач. В Android Studio такой номер не пройдёт. Gradle сопровождает вас во время разработки постоянно. Поначалу, если вы перешли с Eclipse, Gradle сильно раздражает своими действиями. Но позже вы оцените её удобство и может даже полюбите её.
Gradle не является изобретением для Android Studio, система была разработана раньше и использовалась в приложениях для Java, Scala и других языках.
Система сборки Gradle очень мощная и сложная, чтобы о ней рассказать в двух словах. Есть целые книги о ней. Сами команды в Gradle представляют собой обычный текст с использованием синтаксиса Groove для конфигурации. Но нам не нужно знать всё. Познакомимся поближе с системой и научимся пользоваться ей.
Создайте новый проект или откройте любой существующий проект из Android Studio и посмотрите на структуру проекта.
В последних версиях студии файлы Gradle выделили в отдельную папку Gradle Script. Раскройте её. В основном вас должен интересовать файл build.gradle, который относится к модулю. Рядом с этим файлом в скобках будет написано Module: app. Двойным щелчком откройте его, вы увидите, что файл является текстовым.
Также есть файл build.gradle, который относится к проекту. Но с ним работают реже. Так находятся настройки для репозиториев и самого Gradle.
Вернёмся к файлу модуля, вы увидите много интересной информации. Например, вы там можете увидеть настройки, которые раньше вы могли видеть в манифесте - номера версий, номера SDK и так далее. Забегая вперёд, скажу, что здесь можно добавить всего одну волшебную строчку и нужная библиотека сама скачается из интернета и установится в проекте. Красота!
Однако вернёмся в корневую папку. Кроме файлов build.gradle мы можем заметить файлы gradle.properties, settings.gradle и другие. Трогать их не нужно.
Вы могли заметить, что по сравнению с Eclipse изменилась структура файлов. В папке app находится папка src, а ней папка main, в которых папки java, res и файл манифеста. Новая структура лучше отвечает требованиям Gradle для управления файлами.
Вы, например, можете создавать альтернативные папки с ресурсами и с помощью build.gradle подключить их к проекту.
В этом примере мы указали, что существуют новая папка presentations в папке /src/main/ наряду с существующими папками java и res. Внутри созданной папки есть ещё две папки layout и animations, которые содержат файлы ресурсов.
Только помните, что вам нужно избегать конфликта имён при слиянии всех файлов при сборке.
Значение sourceSets указывает Gradle, какие папки следует использовать. Этим приёмом пользуются продвинутые программисты. Мы пока не будем использовать такую технику.
Другая полезная возможность - создавать разные версии приложений, например, демо-версию и платную версию. Немного об этом рассказано здесь.
Номер версии приложения и требования к версии Android прописаны в секции defaultConfig. Если у вас сохранились старые версии приложений, то в манифесте можете удалить данные записи. По-моему, там даже выводится соответствующая подсказка. Даже если вы эти данные в манифесте не удалите, то значения из gradle.build имеют больший приоритет и перепишут значения в манифесте при не совпадении.
Подключение библиотеки происходит одной строчкой. Например, нужно добавить библиотеку Picasso:
В Android Studio 3.0 используется новая версия Gradle, в которой compile считается устаревшей. Вместо него следует использовать новое слово implementation.
Есть похожая команда, которая подключает библиотеку, которая будет использоваться только для отладки приложения и в релизной версии она не нужна.
Далее включаете синхронизацию и через несколько секунд в папке появляется нужная библиотека, готовая к использованию. Сама библиотека скачивается с специального хранилища-репозитория JCenter. Данный репозиторий используется по умолчанию и прописан в buil.gradle проекта.
Можно указать другой репозиторий, например, Maven Central.
Для поиска через Maven-репозиторий используйте The Central Repository Search Engine.
Библиотеку можно подключать и старым способом, используя jar-файл, но такой способ уходит в прошлое.
Сам файл нужно скопировать в папку <moduleName>/libs.
При любом изменении файла недостаточно его сохранить. Нужно также произвести синхронизацию. Наверху обычно появляется жёлтая полоска с ссылкой Sync Now.
Задаём имя APK при компиляции
Можно задать собственное имя при компиляции проекта. Например, так.
Получим имя MyName-1.0.12-release.apk
Оптимизатор кода R8
Оптимизатор кода R8 имеет следующие возможности: урезание байт-кода, сжатие, обфускация, оптимизация, удаление «синтаксического сахара», преобразование в DEX. Оптимизатор может производить все операции за один шаг, что даёт сильное улучшение производительности. R8 был введён в Android Gradle plugin 3.3.0. Вам нужно только включить его.
R8 разработан для работы с существующими ProGuard-правилами, хотя возможны ситуации, когда нужно переработать правила.
Сжимаем итоговый APK
В Gradle 1.4 появилась возможность сжать итоговый файл, убрав неиспользуемые ресурсы, в том числе из библиотек, например, Google Play Services.
Во время сборки приложения вы можете увидеть строку:
Другой способ убрать неиспользуемые ресурсы конфигурации. Например, вам не нужные локализованные ресурсы для всех языков, которые входят в библиотеку Google Play Services или Android Support Library и др. Оставим только нужные языки. Возможно, вы также не хотите поддерживать mdpi или tvdpi-разрешения в своём приложении. Мы можем установить языки и разрешения, которые используются в приложении, остальные будут исключены, что позволит уменьшить вес приложения.
Можно перенести ключи из манифеста.
Чтобы их не светить, например, если выкладывать код на Гитхабе, то сделаем так.
И в манифесте переделаем код.
В большинстве случаев это сработает, но иногда ключ требуется при компиляции и указанный пример может не сработать. В таком случае применяют другой вариант через manifestPlaceholders.
В манифесте пишем.
Класс BuildConfig
В статье LogCat упоминался способ быстрого отключения журналирования.
Суть в следующем. Когда вы создаёте новые переменные в блоках defaultConfig или buildTypes (ветки debug и release), то Gradle создаёт специальный класс BuildConfig, и вы можете получить доступ к этим переменным.
Например, добавим переменную в defaultConfig
На языке Java это равносильно String YOUR_TOKEN = "ABRAKADABRA";
Теперь мы можем обратиться к созданной строке.
С секцией buildType ситуация интереснее. У секции есть два блока debug и release. Можно создать переменные с разными значениями, которые будут использоваться в зависимости от ситуации. Например, у вас есть собственное API для сервера. Для тестирования вы используете один адрес, а для финальной версии - другой адрес. Тогда вы просто указываете разные адреса в разных ветках. Переменные могут быть не только строковыми.
Создаём код для перехода на веб-страницу.
Теперь вам не нужно переписывать каждый раз код. Загружаться будет страница по нужному адресу автоматически.
Разделяем отладочную и финальную версию
По такому же принципу можно организовать запуск новой версии программы, не затрагивая программу, которую вы установили с Google Play. Допустим вы на своём телефоне установили своё собственное приложение через Google Play. Теперь вам нужно написать новую версию и проверить на своём телефоне. Из-за конфликта имён новое тестируемое приложение перепишет финальную версию или вообще не установится. Поможет следующий трюк.
В специальных переменных applicationIdSuffix и versionNameSuffix мы задаём суффиксы, чтобы избежать конфликта. А в переменной resValue указываем название программы для отладочной и финальных версий, чтобы на устройстве можно было их найти. Не забудьте при этом удалить строковый ресурс app_name в res/values/strings.xml, иначе получите ошибку при компиляции. Теперь можете спокойно запускать приложение с новым кодом, не боясь повредить своё любимое приложение.
Прячем секретную информацию
Следующий совет больше подходит для компаний. Когда подписывается приложение, то нужно указывать пароль, хранилище и т.д. Чтобы их не светить в студии, можно прописать их в переменных и поместить в секцию signingConfigs. Сервер сам найдёт нужные ключи и воспользуется ими в своих сценариях.
Автогенерация версии кода
Нашёл совет, сам не применял. Не обязательно вручную менять версию приложения в атрибутах versionCode и versionName, можно сделать через переменные, а они сами подставятся в нужное место. На любителя.
settings.gradle
Файл settings.gradle обычно состоит из одной строчки.
Это означает, что у вас используется один проект для работы. Если вы будете подключать другие проекты, то здесь появятся новые строки.
gradle.properties (Project Properties)
Несколько советов по настройке файла gradle.properties.
Режим параллельного выполнения
Gradle-демон
Включение на компьютере демона Gradle даст значительный прирост в скорости сборки.
Режим конфигурации при необходимости
Если в проекте используется много модулей, то можно включить режим конфигурации при необходимости. Ускорение будет заметно при большом количестве используемых модулей:
Меняем номер версии библиотек в одном месте
Очень часто в проекте используются взаимосвязанные библиотеки с одинаковыми номерами.
Можно быстро поменять у всех номера через переменную. Для этого используется секция ext, в которой указывается переменная и номер версии. Затем в секции dependencies номер версии заменяется на имя переменной
Обратите внимание, что одинарные кавычки заменяются на двойные, а символ $ указывает на строковый тип.
Расширенная версия с разными переменными в другом виде.
Если в проекте используются несколько модулей с одинаковыми зависимостями, то эти записи можно перенести в корневой build.gradle, чтобы не менять номера версий в каждом модуле.
Настройки в Android Studio
Рассмотрим настройки, доступные в Android Studio. Закройте текущий проект, чтобы увидеть стартовое окно студии. В правой части нажмите на пункт Configure. В следующем окне выберите пункт Settings, чтобы оказаться в окне настроек студии. В левой части найдите пункт Build, Execution, Deployment, затем подпункт Build Tools, далее подпункт Gradle. По умолчанию, там всё чисто, только указан путь у Service directory path. Это были общие настройки.
Теперь рассмотрим настройки, относящиеся к проекту. Запустите любой проект в Android Studio. Выберите меню File | Settings. . Снова пройдитесь по пунктам Build, Execution, Deployment | Build Tools | Gradle. Вы увидите практически такое же окно с небольшими изменениями. Теперь поле Linked Gradle Projects не будет пустым, а также появятся дополнительные настройки. По умолчанию рекомендуют использовать Use default gradle wrapper.
Gradle Task
На правой стороне Android Studio имеется вертикальная вкладка Gradle, которую можно развернуть. Она содержит список задач (task), которая выполняет Gradle при работе с текущим проектом. Вы можете выделить любую из этих задач и запустить её двойным щелчком. Можно выделить несколько задач.
Gradle Console
Когда выполняется какая-то задача Gradle, то ход её выполнения можно увидеть в окне Gradle Console. Открыть её можно через вкладку Gradle Console в нижней правой части студии.
Terminal
Запускать задачи Gradle можно и в окне Terminal.
Добавление зависимостей через интерфейс студии
В статье описывался способ включения библиотеки в проект через редактирование файла build.gradle. Существует альтернативный вариант через настройки студии. Щёлкните правой кнопкой мыши на имени модуля (app) и выберите пункт Open Module Settings (быстрая клавиша F4). В правой части окна находятся вкладки, которые оказывают влияние на файл build.gradle. Например, вкладка Dependencies содержит подключаемые библиотеки.
Чтобы добавить новую зависимость, нажмите на значок с плюсом и выберите нужный вариант, например, Library dependency. Откроется список доступных библиотек из репозитория Maven.
Дополнительное чтение
В примере работы с PDF-файлами в папке assets использована операция запрета на сжатие файлов, которое происходит по умолчанию.
1- Введение
Для начала нужно удостовериться, что вы установили Gradle в Eclipse. Если вы еще не установили, то можете посмотреть инструкцию по ссылке:
2- Создать Gradle Project
В первом запуске, Eclipse скачает программные обеспечения Gradle.
По умолчанию, программное обеспечение Gradle будет скачано с помощью Eclipse и установлено в C:/Users//.gradle. Вы можете конфигурировать, чтобы поменять его местоположение, этот вопрос будет упомянут в аппендиксе в конце данной инструкции.
Ваш Gradle Project создан. Структура похожа на Maven project.
Заметьте, что это структура Gradle Project:
- src/main/java - Место содержащее все исходные коды java
- src/test/java - Место содержащее все исходные коды java для теста
- build.gradle - Файл использующийся для build project (построения проекта), и объявления библиотеки
- settings.gradle - Файл содержаций нужные настройки.
3- Конфигурация Gradle
build.gradle это файл чтобы вы конфигурировали библиотеки, которые будут использованы в project. Похож на pom.xml в Maven Project.
Открыть файл build.gradle для конфигурации библиотек, которые будут использованы:
Примечание: Eclipse на данный момент не обновляет автоматически classpath библиотек, когда меняется файл build.gradle. Вам нужно выбрать Gradle/Refresh Gradle Project из context menu в project чтобы сделать это.
Если новая библиотека объявлена в build.gradle, они будут скачаны в локальный компьютер.
Запустить класс CheckNumeric и получить результаты:
Вы можете увидеть какие библиотеки использует ваш project. И их расположение на жестком диске.
4- Объяснение правил работы Gradle
Выше вы создали project и он идеально работает. Project использует StringUtils это класс Apache, который не находится в стандартной библиотеке JDK в Java. Традиционно, вам нужно копировать библиотеку в Project и объявить ClassPath. Но в инструкции совершенно не нужно копировать библиотеку и объявлять classpath как традиционно. Управление библиотеки выполняется с помощью Gradle. Теперь мы объясним как работает Gradle.
Изображение выше показывает способ работы Gradle.
- Объявите на build.gradleчто ваш project зависит от библиотеки common-lang3 версии 3.0.
- Сразу после того как вы обновили project используя инструменты Gradle. Gradle проверит существует ли данная библиотека в локальном репозитории (Local Repository) на вашем компьютере. Если нет то он скачает эту библиотеку из репозитория с интернета.
- В конце, Gradle автоматически объявит ClassPath для Project указывающий на местоположение скачанного файла jar.
Поэтому вам только нужно объявить все библиотеки, которые вы хотите использовать в build.gradle. Библиотеки управляются с помощью Gradle.
5- Просмотр Local Repository
Ваш вопрос это где находится локальный репозиторий (Local Repository)?
По умолчанию Gradle скачан с помощью Eclipse и установлен в C:/Users//.gradle. Файлы библиотеки использующиеся в вашем project так же скачаны с интернета и установлены в подпапке той папки.
6- Конфигурация местоположения Gradle
По умолчанию, программное обеспечение Gradle будет скачано с помощью Eclipse и установлено в C:/Users//.gradle. Вы можете конфигурировать чтобы изменить его местоположение.
Нажать на правую кнопку мыши на project и выбрать Gradle/Refresh Gradle Project, Gradle будет скачан и установлен в папку которую вы настроили.
7- Просмотр Gradle Repository в интернете
Вопросом является где искать информацию groupId, artifactId, version.
Читайте также: