Добавьте любую библиотеку GitHub в Android Studio, используя Maven, JCenter и JitPack

Автор: Lewis Jackson
Дата создания: 13 Май 2021
Дата обновления: 1 Июль 2024
Anonim
Добавьте любую библиотеку GitHub в Android Studio, используя Maven, JCenter и JitPack - Программы
Добавьте любую библиотеку GitHub в Android Studio, используя Maven, JCenter и JitPack - Программы

Содержание


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

Библиотека Android содержит те же файлы, которые вы найдете в обычном проекте Android, такие как исходный код, ресурсы и манифест. Однако вместо компиляции в пакетный пакет Android (APK), который может работать на устройстве Android, библиотека компилируется в архив кода, который можно использовать как зависимость проекта. Эти библиотеки предоставляют вам доступ к широкому спектру дополнительных функций, включая некоторые функции, которые не включены в платформу vanilla Android.

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


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

Добавление удаленных зависимостей

Система сборки Gradle в Android Studio добавляет библиотеки в ваш проект как модуль зависимости, Эти зависимости могут находиться либо в удаленном репозитории, таком как Maven или JCenter, либо они могут храниться внутри вашего проекта в виде локальной зависимости - вам просто нужно сообщить Gradle, где он может найти эти зависимости.

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


Чтобы добавить удаленную зависимость, вам нужно предоставить Gradle две части информации:

  • Хранилище. Gradle должен знать репозиторий (или репозитории), где он должен искать вашу библиотеку (или библиотеки). Библиотеки Android, как правило, распространяются через Maven Central или JCenter.
  • Заявление компиляции. Он содержит имя пакета библиотеки, название группы библиотеки и версию библиотеки, которую вы хотите использовать.

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

Добавление удаленной зависимости с JCenter

StyleableToast - это библиотека, которая позволяет настраивать каждую часть тостов Android, включая изменение цвета фона, радиуса угла и шрифта, а также добавление значков. Он также предоставляет всю информацию, необходимую для добавления этой библиотеки в ваш проект, в отдельном разделе «Установка». Здесь мы видим, что этот проект распространяется через JCenter.

Когда вы создаете проект с последними выпусками Android Studio, файлы build.gradle вашего проекта уже настроены для поддержки JCenter. Если вы откроете файл build.gradle уровня проекта, то увидите, что JCenter уже включен в раздел «allprojects / repositories»:

allprojects {repositories {jcenter ()}}

Обратите внимание, что файл build.gradle уровня проекта содержит два блока «хранилища», но в блоке «buildscript / repositories» вы определяете, как Gradle выполняет эту сборку. Вы не должны добавлять какие-либо модульные зависимости в этот раздел.

Поскольку ваш проект уже настроен для проверки JCenter, единственное, что нам нужно сделать, - это добавить оператор compile в файл build.gradle уровня модуля.

Еще раз, StyleableToast предоставляет нам именно ту информацию, которая нам нужна, поэтому просто скопируйте оператор компиляции со страницы StyleableToast на GitHub и вставьте его в свой файл Gradle:

Зависимости {compile com.muddzdev: styleabletoast: 1.0.8}

Синхронизируйте файлы Gradle, нажав на баннер «Синхронизация» или выбрав значок «Синхронизировать проект с файлами Gradle» на панели инструментов. Затем Gradle запросит сервер JCenter, чтобы убедиться, что библиотека Styleabletoast существует, и загрузит все ее файлы. Теперь вы готовы начать использовать эту библиотеку!

2. Добавление удаленной зависимости с Maven Central

В качестве альтернативы, если на странице проекта GitHub указано, что эта библиотека распространяется через Maven Central, вам нужно указать Gradle вместо этого проверить Maven Central.

Откройте файл build.gradle уровня проекта и добавьте Maven Central в блок «allprojects»:

allprojects {repositories {mavenCentral ()}}

Отсюда и весь остальной процесс точно такой же: откройте файл build.gradle уровня модуля, добавьте оператор compile и синхронизируйте его с Gradle.

3. Добавление удаленной зависимости, размещенной на ее собственном сервере.

Иногда вы можете столкнуться с проектом, который все еще распространяется через JCenter или Maven Central, но разработчик решил разместить свой проект на своем собственном сервере. В этом случае на странице проекта GitHub следует указать очень специфический URL-адрес, например, хранилище Fabric Crashlytics Kit находится по адресу https://maven.fabric.io/public.

Если вы видите URL-адреса такого типа, вам нужно открыть файл build.gradle уровня проекта, а затем объявить хранилище (в данном случае Maven) вместе с точным URL-адресом:

репозитории {maven {url https://maven.fabric.io/public}}

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

Что если я не смогу найти репозиторий и / или оператор компиляции?

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

В этом сценарии вы можете:

  • Используйте JitPack.
  • Клонируйте весь репозиторий и импортируйте его код в свой проект как его собственный модуль.

Использование JitPack

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

Первый шаг - открыть файл build.gradle уровня проекта и добавить JitPack в качестве репозитория:

allprojects {repositories {maven {url https://jitpack.io}}}

Затем вы можете использовать веб-сайт JitPack для генерации оператора компиляции на основе URL-адреса GitHub этого проекта:

  • В вашем веб-браузере перейдите на страницу библиотеки GitHub. Скопируйте его URL.
  • Зайдите на сайт JitPack.
  • Вставьте URL-адрес в поле поиска на веб-сайте, а затем нажмите соответствующую кнопку «Искать».
  • Затем на веб-странице будет отображена таблица всех версий этой библиотеки, разделенная на различные вкладки: Релизы, Сборки, Ветви и Коммиты. Как правило, релизы, как правило, более стабильны, в то время как раздел Commit содержит последние изменения.

  • После того, как вы определились с версией, которую хотите использовать, нажмите соответствующую кнопку «Получить».
  • Веб-сайт должен обновиться, чтобы отобразить именно ту инструкцию компиляции, которая вам нужна.

  • Скопируйте / вставьте этот оператор компиляции в файл build.gradle уровня вашего проекта.
  • Синхронизируйте свои файлы Gradle, и вы готовы начать использовать свою библиотеку!

Клонирование проекта GitHub

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

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

Чтобы клонировать проект GitHub:

  • Создайте учетную запись GitHub.
  • Выберите «Оформить заказ из системы контроля версий» на экране «Добро пожаловать» в Android Studio.
  • Введите свои учетные данные GitHub.
  • Откройте веб-браузер, перейдите к репозиторию GitHub, который вы хотите клонировать, а затем скопируйте / вставьте его URL в диалоговое окно Android Studio.
  • Укажите локальный каталог, в котором вы хотите хранить клонированный репозиторий.
  • Дайте этому каталогу имя, а затем нажмите «Клонировать».

Теперь у вас есть копия кода библиотеки, которую вы можете импортировать в свой проект Android как новый модуль:

  • Откройте проект, в котором вы хотите использовать свою клонированную библиотеку, затем выберите «Файл> Создать> Импортировать модуль» на панели инструментов Android Studio.
  • Нажмите кнопку с тремя точками и перейдите к своему клонированному хранилищу. Выберите этот репозиторий, затем нажмите «ОК».
  • Нажмите «Готово».
  • Выберите «Файл> Структура проекта» на панели инструментов Android Studio.
  • В левом меню выберите модуль, в котором вы хотите использовать эту библиотеку.
  • Выберите вкладку «Зависимости».

  • Выберите маленький значок «+», а затем «Зависимость модуля».
  • Выберите модуль библиотеки, затем нажмите «ОК».
  • Выйдите из окна «Структура проекта».

В зависимости от используемой вами библиотеки, вам может потребоваться внести некоторые изменения в импортированный код, прежде чем ваш проект будет скомпилирован. Например, если вкладка «Android Studio» жалуется на несовместимые minSdkVersions, то, скорее всего, API, используемые библиотекой, несовместимы с версиями платформы Android, определенной в файле build.gradle вашего проекта. Аналогично, если Android Studio жалуется на buildToolsVersion вашего проекта, то, скорее всего, существует несоответствие между версией, определенной в библиотеке, и версией, определенной в другом месте вашего проекта. В обоих этих сценариях вам необходимо проверить значения, определенные в обоих файлах build.gradle, и изменить их соответствующим образом.

Поиск проблемы

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

Если после добавления библиотеки в проект возникают проблемы, попробуйте следующие исправления:

  • Убедитесь, что вы случайно не добавили несколько версий одной и той же библиотеки. Если Android Studio сообщает об ошибке «определение нескольких файлов DEX…», возможно, вы добавляли одну и ту же библиотеку в свой проект более одного раза. Вы можете просмотреть зависимости вашего модуля, выбрав «Файл> Структура проекта» на панели инструментов Android Studio, затем выберите модуль, который вы хотите проверить, и перейдя на вкладку «Зависимости». Если библиотека появляется в этом окне несколько раз, выберите дубликат и нажмите маленький значок «-», чтобы удалить его.
  • Искать в Интернете. Всегда есть вероятность того, что другие люди столкнулись с той же проблемой, что и вы, поэтому проведите быстрый поиск в Google, чтобы узнать, кто-нибудь писал об этой проблеме на форумах или в сообществах, таких как Stackoverflow. Возможно, вам даже повезет, и вы найдете блог или учебник, в котором есть инструкции, как решить эту проблему.
  • Очистите и восстановите ваш проект. Иногда для решения проблемы может быть достаточно выбрать «Build> Clean project» на панели инструментов Android Studio, а затем «Build> Rebuild project».
  • И если ничего не помогает ... Для правильной работы стороннего программного обеспечения иногда требуется немного проб и ошибок, поэтому, если есть альтернативный метод импорта выбранной вами библиотеки, всегда стоит попробовать. Тот факт, что ваш проект отказывается от компиляции после того, как вы импортировали клонированный репозиторий, не обязательно означает, что он будет иметь такую ​​же реакцию, если вы попытаетесь использовать эту же библиотеку в качестве удаленной зависимости.

Завершение

В этой статье мы рассмотрели, как вы можете добавить любую библиотеку, которую обнаружите на GitHub, в свой проект Android, независимо от того, распространяется ли эта библиотека через JCenter или Maven Central. И даже если вы не знаете, какой репозиторий или оператор компиляции вам нужно использовать, у вас всегда есть возможность использовать JitPack или клонировать код библиотеки.

Вы обнаружили какие-нибудь замечательные библиотеки Android на GitHub? Дайте нам знать в комментариях ниже!

Обновление, 28 мая 2019 года, в 12:15 по восточному времени: Похоже, Motorola удалила все списки с Amazon. Неясно, отменит ли компания заказы, сделанные при наличии телефона. ...

Примечание. В этой статье предполагается, что вы знакомы с основами разработки под Android и Java. Вы уже должны иметь возможность создавать основные макеты и использовать виды, по щелчку а также find...

Самые читаемые