Dodaj dowolną bibliotekę GitHub do Android Studio, używając Maven, JCenter i JitPack

Autor: Lewis Jackson
Data Utworzenia: 13 Móc 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
Distribute GitHub Repositories as Libraries using JitPack ( Grandle , Maven , etc )
Wideo: Distribute GitHub Repositories as Libraries using JitPack ( Grandle , Maven , etc )

Zawartość


Bardzo niewiele projektów na Androida to wyspa! Większość projektów na Androida jest zależna od wielu innych komponentów, w tym od zewnętrznych bibliotek Androida.

Biblioteka Androida zawiera te same pliki, które można znaleźć w zwykłym projekcie na Androida, takie jak kod źródłowy, zasoby i manifest. Jednak zamiast kompilować się w pakiet Android Package Kit (APK), który można uruchomić na urządzeniu z Androidem, biblioteka kompiluje się w archiwum kodów, które można wykorzystać jako zależność od projektu. Te biblioteki zapewniają dostęp do szerokiej gamy dodatkowych funkcji, w tym niektórych funkcji, których nie ma na waniliowej platformie Android.

Jednym z najlepszych miejsc do znalezienia bibliotek Androida jest GitHub. Jednak pobranie biblioteki ze strony GitHub do projektu nie zawsze jest proste, zwłaszcza, że ​​istnieje kilka różnych repozytoriów, z których programiści mogą korzystać w celu dystrybucji swoich projektów GitHub - i nie zawsze może być oczywiste, z którego repozytorium korzysta programista!


W tym artykule pokażę, jak zaimportować dowolną bibliotekę odkrytą w GitHub do projektu Android, niezależnie od tego, czy chcesz dodać bibliotekę jako zależność zdalną, czy zależność lokalną.

Dodawanie zdalnych zależności

System kompilacji Gradle w Android Studio dodaje biblioteki do projektu jako moduł zależności. Zależności te mogą znajdować się w zdalnym repozytorium, takim jak Maven lub JCenter, lub mogą być przechowywane w projekcie jako zależność lokalna - wystarczy poinformować Gradle, gdzie może znaleźć te zależności.

Dodanie biblioteki jako zdalnej zależności jest zazwyczaj najszybszym i najłatwiejszym sposobem na umieszczenie kodu biblioteki w projekcie, więc jest to metoda, którą omówimy na początku. Gdy dodasz bibliotekę jako zdalną zależność, Gradle upewni się, że zależność ma wszystko, czego potrzebuje do uruchomienia, w tym wszelkie przechodni zależności, więc zazwyczaj, jeśli to możliwe, zazwyczaj chcesz dodać bibliotekę jako zależność zdalną.


Aby dodać zdalną zależność, musisz przekazać Gradleowi dwie informacje:

  • Repozytorium. Gradle musi znać repozytorium (lub repozytoria), w którym powinien szukać twojej biblioteki (lub bibliotek). Biblioteki Androida są zwykle dystrybuowane za pośrednictwem Maven Central lub JCenter.
  • Instrukcja kompilacji. Zawiera nazwę pakietu biblioteki, nazwę grupy bibliotek oraz wersję biblioteki, której chcesz użyć.

Najlepiej byłoby, gdyby strona GitHub biblioteki zawierała wszystkie te informacje. W rzeczywistości nie zawsze tak jest, ale zacznijmy od najlepszego scenariusza i załóżmy, że strona GitHub biblioteki zawiera te informacje.

Dodanie zdalnej zależności za pomocą JCenter

StyleableToast to biblioteka, która pozwala dostosować każdą część toastów na Androida, w tym zmienić kolor tła, promień narożnika i czcionkę oraz dodawać ikony. Zawiera także wszystkie informacje potrzebne do dodania tej biblioteki do projektu w dedykowanej sekcji „Instalacja”. Tutaj widzimy, że ten projekt jest dystrybuowany za pośrednictwem JCenter.

Gdy tworzysz projekt z najnowszymi wersjami Androida Studio, pliki build.gradle projektu są już skonfigurowane do obsługi JCenter. Jeśli otworzysz plik build.gradle na poziomie projektu, zobaczysz, że JCenter jest już uwzględniony w sekcji „wszystkie projekty / repozytoria”:

allprojects {repozytoria {jcenter ()}}

Uwaga: plik build.gradle na poziomie projektu zawiera dwa bloki „repozytoriów”, ale blok „buildscript / repozytoria” określa, w jaki sposób Gradle wykonuje tę kompilację. Nie należy dodawać żadnych zależności modułów do tej sekcji.

Ponieważ twój projekt jest już skonfigurowany do sprawdzania JCenter, jedyne, co musimy zrobić, to dodać naszą instrukcję kompilacji do pliku build.gradle na poziomie modułu.

Ponownie StyleableToast dostarcza nam dokładnie potrzebnych informacji, więc po prostu skopiuj instrukcję kompilacji ze strony GitHub StyleableToast i wklej ją do pliku Gradle:

zależności {kompilacja com.muddzdev: styleabletoast: 1.0.8}

Zsynchronizuj pliki Gradle, klikając baner „Synchronizuj” lub wybierając ikonę „Synchronizuj projekt z plikami Gradle” na pasku narzędzi. Następnie Gradle zapyta serwer JCenter, aby sprawdzić, czy istnieje biblioteka Styleabletoast, i pobierze wszystkie jej pliki. Teraz możesz zacząć korzystać z tej biblioteki!

2. Dodanie zdalnej zależności z Maven Central

Alternatywnie, jeśli strona projektu GitHub stwierdza, że ​​ta biblioteka jest rozpowszechniana za pośrednictwem Maven Central, musisz powiedzieć Gradle, aby sprawdził Maven Central.

Otwórz plik build.gradle na poziomie projektu i dodaj Maven Central do bloku „allprojects”:

allprojects {repozytoria {mavenCentral ()}}

Odtąd reszta procesu jest dokładnie taka sama: otwórz plik build.gradle na poziomie modułu, dodaj instrukcję kompilacji i zsynchronizuj z Gradle.

3. Dodanie zdalnej zależności hostowanej na własnym serwerze

Czasami możesz napotkać projekt, który jest nadal dystrybuowany za pośrednictwem JCenter lub Maven Central, ale deweloper zdecydował się hostować swój projekt na własnym serwerze. W takim przypadku strona projektu GitHub powinna informować o użyciu bardzo konkretnego adresu URL, na przykład repozytorium Fabric Crashlytics Kit znajduje się na stronie https://maven.fabric.io/public.

Jeśli widzisz tego rodzaju adres URL, musisz otworzyć plik build.gradle na poziomie projektu, a następnie zadeklarować repozytorium (w tym przypadku Maven) wraz z dokładnym adresem URL:

repozytoria {maven {url https://maven.fabric.io/public}}

Następnie możesz dodać instrukcję kompilacji i zsynchronizować pliki w zwykły sposób.

Co jeśli nie mogę znaleźć repozytorium i / lub instrukcji kompilacji?

Do tej pory byliśmy optymistami i zakładaliśmy, że GitHub projektu zawsze przekazuje ci wszystkie informacje, które musisz znać. Niestety nie zawsze tak jest, więc przejdźmy od scenariusza najlepszego przypadku do najgorszego scenariusza i wyobraźmy sobie, że strona GitHub projektu nie zawiera żadnych informacji o repozytorium i instrukcji kompilacji, których musisz użyć.

W tym scenariuszu możesz:

  • Użyj JitPack.
  • Sklonuj całe repozytorium i zaimportuj jego kod do swojego projektu jako własny moduł.

Korzystanie z JitPack

JitPack to repozytorium pakietów dla Git, które umożliwia dodanie dowolnego projektu GitHub jako zdalnej zależności. Tak długo, jak biblioteka zawiera plik kompilacji, JitPack może generować wszystkie informacje potrzebne do dodania tej biblioteki do projektu.

Pierwszym krokiem jest otwarcie pliku build.gradle na poziomie projektu i dodanie JitPack jako repozytorium:

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

Następnie możesz użyć witryny JitPack do wygenerowania instrukcji kompilacji na podstawie adresu URL GitHub tego projektu:

  • W przeglądarce internetowej przejdź do strony GitHub biblioteki. Skopiuj jego adres URL.
  • Przejdź na stronę JitPack.
  • Wklej adres URL w polu wyszukiwania witryny, a następnie kliknij towarzyszący mu przycisk „Wyszukaj”.
  • Strona wyświetli następnie tabelę wszystkich wersji tej biblioteki, podzieloną na różne zakładki: Wydania, Kompilacje, Oddziały i Zatwierdzenia. Zazwyczaj wydania wydają się być bardziej stabilne, podczas gdy sekcja zatwierdzania zawiera najnowsze zmiany.

  • Po wybraniu wersji, której chcesz użyć, kliknij jej towarzyszący przycisk „Pobierz”.
  • Witryna powinna zostać zaktualizowana, aby wyświetlić dokładną instrukcję kompilacji, której należy użyć.

  • Skopiuj / wklej tę instrukcję kompilacji do pliku build.gradle projektu na poziomie modułu.
  • Zsynchronizuj pliki Gradle i możesz rozpocząć korzystanie z biblioteki!

Klonowanie projektu GitHub

Alternatywnie, jeśli nie masz pewności co do repozytorium biblioteki i / lub instrukcji kompilacji, możesz chcieć klon projekt GitHub. Klonowanie tworzy kopię całego kodu i zasobów projektu GitHub i przechowuje tę kopię na komputerze lokalnym. Następnie możesz zaimportować klon do swojego projektu jako własny moduł i użyć go jako zależności modułu.

Ta metoda może być czasochłonna, a import całego kodu projektu może powodować konflikty z resztą projektu. Jednak klonowanie daje dostęp do całego kodu biblioteki, więc ta metoda jest idealna, jeśli chcesz dostosować bibliotekę, na przykład poprzez ulepszenie jej kodu, aby lepiej zintegrować z resztą projektu, lub nawet dodać nowe funkcje (chociaż jeśli uważasz, że inne osoby mogą odnieść korzyść z twoich zmian, możesz rozważyć przyczynienie się z powrotem do projektu).

Aby sklonować projekt GitHub:

  • Utwórz konto GitHub.
  • Wybierz „Kasa z kontroli wersji” na ekranie powitalnym Android Studio.
  • Wprowadź swoje dane logowania do GitHub.
  • Otwórz przeglądarkę internetową, przejdź do repozytorium GitHub, które chcesz sklonować, a następnie skopiuj / wklej jego adres URL w oknie dialogowym Android Studio.
  • Podaj katalog lokalny, w którym chcesz przechowywać sklonowane repozytorium.
  • Nadaj temu katalogowi nazwę, a następnie kliknij „Klonuj”.

Teraz masz kopię kodu biblioteki, możesz zaimportować tę bibliotekę do swojego projektu na Androida, jako nowy moduł:

  • Otwórz projekt, w którym chcesz użyć sklonowanej biblioteki, a następnie wybierz „Plik> Nowy> Moduł importu” z paska narzędzi Android Studio.
  • Kliknij przycisk z trzema kropkami i przejdź do sklonowanego repozytorium. Wybierz to repozytorium, a następnie kliknij „OK”.
  • Kliknij „Zakończ”.
  • Wybierz „Plik> Struktura projektu” z paska narzędzi Android Studio.
  • W menu po lewej stronie wybierz moduł, w którym chcesz użyć tej biblioteki.
  • Wybierz kartę „Zależności”.

  • Wybierz małą ikonę „+”, a następnie „Zależność modułu”.
  • Wybierz moduł biblioteki, a następnie kliknij „OK”.
  • Wyjdź z okna „Struktura projektu”.

W zależności od używanej biblioteki może być konieczne wprowadzenie pewnych zmian w importowanym kodzie przed skompilowaniem projektu. Na przykład jeśli karta „Studio” Androida Studio narzeka na niekompatybilne wersje minSdkVersions, istnieje prawdopodobieństwo, że interfejsy API używane przez bibliotekę nie są zgodne z wersjami platformy Android zdefiniowanymi w pliku build.gradle projektu. Podobnie, jeśli Android Studio skarży się na buildToolsVersion twojego projektu, prawdopodobnie istnieje niezgodność między wersją zdefiniowaną w bibliotece a wersją zdefiniowaną w innym miejscu w projekcie. W obu tych scenariuszach musisz sprawdzić wartości zdefiniowane w obu plikach build.gradle i odpowiednio je zmienić.

Rozwiązywanie problemów

Kiedy pracujesz każdy rodzaj oprogramowania innych firm, co do zasady istnieje większe prawdopodobieństwo, że napotkasz niezgodności, błędy i ogólnie dziwne zachowanie, w porównaniu do korzystania z pakietu oprogramowania opracowanego przez ten sam zespół, w którym każdy element układanki został specjalnie zaprojektowany do współpracy.

Jeśli po dodaniu biblioteki do projektu wystąpią problemy, wypróbuj następujące poprawki:

  • Sprawdź, czy nie dodałeś przypadkowo wielu wersji tej samej biblioteki. Jeśli Android Studio zgłasza błąd „wiele plików DEX definiuje…”, być może dodałeś tę samą bibliotekę do swojego projektu więcej niż jeden raz. Możesz przejrzeć zależności modułu, wybierając „Plik> Struktura projektu” z paska narzędzi Android Studio, a następnie wybierając moduł, który chcesz sprawdzić, i klikając kartę „Zależności”. Jeśli biblioteka pojawia się w tym oknie wiele razy, wybierz duplikat i kliknij małą ikonę „-”, aby ją usunąć.
  • Przeszukaj sieć. Zawsze istnieje szansa, że ​​inne osoby napotkały ten sam problem, co Ty, więc przeprowadź szybkie wyszukiwanie w Google, aby sprawdzić, czy ktoś napisał o tym problemie na forach lub w społecznościach takich jak Stackoverflow. Możesz nawet mieć szczęście i znaleźć blog lub samouczek, który zawiera instrukcje dotyczące rozwiązania tego konkretnego problemu.
  • Oczyść i odbuduj swój projekt. Czasami wybranie „Kompiluj> Wyczyść projekt” z paska narzędzi Android Studio, a następnie „Kompiluj> Przebuduj projekt” może wystarczyć do rozwiązania problemu.
  • A jeśli wszystko inne zawiedzie… Poprawne działanie oprogramowania innej firmy wymaga czasem prób i błędów, więc jeśli istnieje alternatywna metoda importowania wybranej biblioteki, zawsze warto spróbować. To, że Twój projekt odmawia kompilacji po zaimportowaniu sklonowanego repozytorium, niekoniecznie oznacza, że ​​będzie miał taką samą reakcję, jeśli spróbujesz użyć tej samej biblioteki jako zdalnej zależności.

Podsumowanie

W tym artykule sprawdziliśmy, jak możesz dodać dowolną bibliotekę odkrytą w GitHub do swojego projektu na Androida, niezależnie od tego, czy ta biblioteka jest dystrybuowana za pośrednictwem JCenter czy Maven Central. Nawet jeśli nie masz pojęcia, jakiego repozytorium lub instrukcji kompilacji należy użyć, zawsze masz możliwość korzystania z JitPack lub klonowania kodu biblioteki.

Czy odkryłeś jakieś wspaniałe biblioteki Androida na GitHub? Daj nam znać w komentarzach poniżej!

Google w końcu wypuściło funkcję, o którą właściciele Google Home od dawna prozą. Użytkownicy mogą teraz konfigurować woje oryginalne urządzenia Google Home lub Home Mini w parach jako pojedyncze...

Jeśli chcez kupić głośnik domowy Google, cena wejścia tała ię teraz znacznie łatwiejza. W ramach Google I / O 2019 firma właśnie ogłoiła duże i trwałe obniżki cen trzech z czterech obecnych głośnik...

Świeże Artykuły