Добавете всяка библиотека на 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 Package Kit (APK), който може да работи на устройство с Android, библиотеката се компилира в кодов архив, който можете да използвате като зависимост на проекта. Тези библиотеки ви предоставят достъп до широк спектър от допълнителни функции, включително някои функции, които не са включени в платформата за ванилна Android.

Едно от най-добрите места за намиране на Android библиотеки е GitHub. Влизането на библиотека от страницата й в 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 {хранилища {jcenter ()}}

Забележете, файлът build.gradle на ниво проект съдържа два блока „хранилища“, но блокът „buildscript / repositories“ е мястото, където определяте как Gradle изпълнява тази сборка. Не бива да добавяте никакви модулни зависимости към този раздел.

Тъй като вашият проект вече е конфигуриран да проверява JCenter, единственото, което трябва да направим, е да добавим нашата декларация за компилиране към файла на ниво модул build.gradle.

За пореден път StyleableToast ни предоставя точно необходимата информация, така че просто копирайте декларацията за компилиране от страницата на GitHub на StyleableToast и я поставете във вашия Gradle файл:

зависимости {съставете com.muddzdev: styleabletoast: 1.0.8}

Синхронизирайте файловете си Gradle, като кликнете върху банера „Sync“ или като изберете иконата „Sync Project with Gradle Files“ в лентата с инструменти. След това Gradle ще поиска сървъра на JCenter, за да провери дали съществува библиотеката Styleabletoast и да изтегли всичките му файлове. Вече сте готови да започнете да използвате тази библиотека!

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

Освен това, ако страницата на GitHub на проекта гласи, че тази библиотека се разпространява през Maven Central, тогава ще трябва да кажете на Gradle да провери Maven Central вместо това.

Отворете файла на build.gradle на ниво проект и добавете Maven Central към блока „allprojects“:

allprojects {хранилища {mavenCentral ()}}

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

3. Добавяне на отдалечена зависимост, хоствана на собствения му сървър

Понякога може да срещнете проект, който все още се разпространява чрез JCenter или Maven Central, но разработчикът е избрал да бъде домакин на проекта си на собствен сървър. Когато случаят е такъв, страницата на GitHub на проекта трябва да ви каже да използвате много специфичен URL адрес, например хранилището на Fabric's 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 {хранилища {maven {url https://jitpack.io}}}

След това можете да използвате уебсайта JitPack за генериране на декларация за компилация въз основа на URL адреса на GitHub на този проект:

  • Отворете уеб браузъра си до страницата на библиотеката GitHub. Копирайте URL адреса му.
  • Преминете към уебсайта на JitPack.
  • Поставете URL адреса в полето за търсене на уебсайта и след това щракнете върху придружаващия бутон „Потърсете“.
  • След това уеб страницата ще покаже таблица с всички версии на тази библиотека, разделена на различни раздели: издания, конструкции, клонове и комитети. Обикновено версиите обикновено са по-стабилни, докато разделът за ангажиране съдържа последните промени.

  • След като решите каква версия искате да използвате, щракнете върху придружаващия я бутон „Вземи го“.
  • Уебсайтът трябва да се актуализира, за да покаже точната декларация за компилиране, която трябва да използвате.

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

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

Като алтернатива, когато не сте сигурни в изявление за библиотека и / или компилиране, може да искате клонинг проектът GitHub. Клонирането създава копие на всички кодове и ресурси на проекта GitHub и съхранява това копие на вашата локална машина. След това можете да импортирате клонирането във вашия проект като свой собствен модул и да го използвате като зависимост от модула.

Този метод може да отнеме време и импортирането на целия код на проекта може да доведе до конфликти с останалата част от вашия проект. Клонирането обаче ви дава достъп до целия код на библиотеката, така че този метод е идеален, ако искате да персонализирате библиотеката, например чрез настройване на кода за по-добра интеграция с останалата част от вашия проект или дори добавяне на нови функции (въпреки че ако смятате, че други хора могат да се възползват от вашите промени, тогава може да искате да помислите как да допринесете за подобренията си обратно към проекта).

За да клонирате проект на GitHub:

  • Създайте акаунт в GitHub.
  • Изберете „Checkout from Version Control“ от екрана „Добре дошли“ на Android Studio.
  • Въведете вашите идентификационни данни за GitHub.
  • Отворете уеб браузъра си, отворете хранилището на GitHub, което искате да клонирате, и след това копирайте / поставете URL адреса му в диалоговия прозорец на Android Studio.
  • Посочете локалната директория, където искате да съхранявате клонираното хранилище.
  • Дайте име на тази директория и щракнете върху „Клониране“.

Сега имате копие на кода на библиотеката, можете да импортирате тази библиотека във вашия Android проект като нов модул:

  • Отворете проекта, където искате да използвате клонираната си библиотека, след това изберете „Файл> Ново> Импортиране на модул“ от лентата с инструменти на Android Studio.
  • Щракнете върху бутона с три точки и отидете до вашето клонирано хранилище. Изберете това хранилище, след което щракнете върху „OK“.
  • Кликнете върху „Край“.
  • Изберете „Файл> Структура на проекта“ от лентата с инструменти на Android Studio.
  • В менюто отляво изберете модула, в който искате да използвате тази библиотека.
  • Изберете раздела „Зависимости“.

  • Изберете малката икона „+“, последвана от „Модулна зависимост“.
  • Изберете модула на вашата библиотека, след което щракнете върху „OK“.
  • Излезте от прозореца „Структура на проекта“.

В зависимост от библиотеката, която използвате, може да се наложи да направите някои корекции на импортирания код, преди проектът да се компилира. Например, ако разделът на 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? Уведомете ни в коментарите по-долу!

Актуализация, 26 август 2019 г. (13:45 EDT): Имаме нови изображения и информация отMymartPrice, Не забравяйте да проверите обновената статия по-долу за новата информация!...

Motorola официално обяви Motorola One Zoom миналата седмица на IFA 2019. Устройството беше в продажба 5 септември за 450 долара, но вече можете да го намерите в продажба за 50 долара на уебсайта на Mo...

Нашият Избор