Føj ethvert GitHub-bibliotek til Android Studio ved hjælp af Maven, JCenter og JitPack

Forfatter: Lewis Jackson
Oprettelsesdato: 13 Kan 2021
Opdateringsdato: 1 Juli 2024
Anonim
Føj ethvert GitHub-bibliotek til Android Studio ved hjælp af Maven, JCenter og JitPack - Apps
Føj ethvert GitHub-bibliotek til Android Studio ved hjælp af Maven, JCenter og JitPack - Apps

Indhold


Meget få Android-projekter er en ø! Størstedelen af ​​Android-projekter er afhængige af en række andre komponenter, inklusive tredjeparts Android-biblioteker.

Et Android-bibliotek indeholder de samme filer, som du kunne finde i et almindeligt Android-projekt, såsom kildekode, ressourcer og et manifest. I stedet for at kompilere til et Android Package Kit (APK), der kan køre på en Android-enhed, samles et bibliotek ind i et kodearkiv, som du kan bruge som projektafhængighed. Disse biblioteker giver dig adgang til en lang række yderligere funktionaliteter, herunder nogle funktioner, der ikke er inkluderet i vanilla Android-platformen.

Et af de bedste steder at finde Android-biblioteker er GitHub. At få et bibliotek fra sin GitHub-side og ind i dit projekt er imidlertid ikke altid ligetil, især da der er flere forskellige opbevaringssteder, som udviklere kan bruge til at distribuere deres GitHub-projekter - og det er måske ikke altid indlysende, hvilket arkiv en udvikler bruger!


I denne artikel vil jeg vise dig, hvordan du importerer ethvert bibliotek, du opdager på GitHub, til dit Android-projekt, uanset om du vil tilføje biblioteket som en fjernafhængighed eller som en lokal afhængighed.

Tilføjelse af fjernbetingelser

Android Studios Gradle build-system tilføjer biblioteker til dit projekt som modul afhængigheder. Disse afhængigheder kan enten være placeret i et fjernlager, såsom Maven eller JCenter, eller de kan gemmes i dit projekt som en lokal afhængighed - du skal bare fortælle Gradle, hvor den kan finde disse afhængigheder.

Tilføjelse af et bibliotek som en fjernafhængighed er typisk den hurtigste og nemmeste måde at få et biblioteks kode ind i dit projekt, så dette er den metode, vi vil se på først. Når du tilføjer et bibliotek som en fjernafhængighed, sørger Gradle for, at afhængighed har alt, hvad den har brug for for at kunne køre, inklusive ethvert transitivt afhængigheder, så du vil typisk tilføje et bibliotek som en fjernafhængighed hvor det er muligt.


For at tilføje en fjernafhængighed skal du give Gradle to oplysninger:

  • Opbevaringsstedet. Gradle skal kende depotet (eller depotet), hvor det skal se efter dit bibliotek (eller biblioteker). Android-biblioteker distribueres ofte via Maven Central eller JCenter.
  • Sammensætningen. Dette indeholder bibliotekets pakkenavn, navnet på bibliotekets gruppe og den version af det bibliotek, du vil bruge.

Ideelt set skal bibliotekets GitHub-side give dig alle disse oplysninger. I virkeligheden er dette ikke altid tilfældet, men lad os starte med det bedste case-scenarie og antage, at bibliotekets GitHub-side inkluderer disse oplysninger.

Tilføjelse af en fjernafhængighed med JCenter

StyleableToast er et bibliotek, der giver dig mulighed for at tilpasse alle dele af Android's toasts, herunder ændring af baggrundsfarve, hjørne radius og skrifttype og tilføje ikoner. Det giver også alle de oplysninger, du har brug for for at føje dette bibliotek til dit projekt, i dets dedikerede 'Installation' -afsnit. Her kan vi se, at dette projekt distribueres via JCenter.

Når du opretter et projekt med de seneste udgivelser af Android Studio, er dit projekt's build.gradle-filer allerede konfigureret til at understøtte JCenter. Hvis du åbner din build.gradle-fil på projektniveau, vil du se, at JCenter allerede er inkluderet i afsnittet 'alle projekter / deponier':

allprojects {repositories {jcenter ()}}

Bemærk, at build.gradle-filen på projektniveau indeholder to ‘repositories’ blokke, men ‘buildscript / repositories’ blokken er det sted, hvor du definerer, hvordan Gradle udfører denne build. Du skal ikke tilføje nogen modulafhængighed til dette afsnit.

Da dit projekt allerede er konfigureret til at kontrollere JCenter, er det eneste, vi skal gøre, at tilføje vores kompilationssætning til filen build.gradle på modulniveau.

Endnu en gang giver StyleableToast os nøjagtigt de oplysninger, vi har brug for, så kopier blot kompilationsopgørelsen fra StyleableToasts GitHub-side, og indsæt den i din Gradle-fil:

afhængigheder {kompiler com.muddzdev: styleabletoast: 1.0.8}

Synkroniser dine Gradle-filer, enten ved at klikke på 'Sync'-banneret, eller ved at vælge ikonet' Synkroniser projekt med Gradle Files 'på værktøjslinjen. Gradle forespørger derefter JCenter-serveren for at kontrollere, at Styleabletoast-biblioteket findes, og downloade alle dets filer. Du er nu klar til at begynde at bruge dette bibliotek!

2. Tilføjelse af en fjernafhængighed med Maven Central

Hvis projektets GitHub-side angiver, at dette bibliotek distribueres via Maven Central, skal du alternativt bede Gradle om at tjekke Maven Central i stedet.

Åbn din build.gradle-fil på projektniveau, og tilføj Maven Central til "allprojects" -blokken:

allprojects {repositories {mavenCentral ()}}

Herfra er resten af ​​processen nøjagtig den samme: åbn din build.gradle-fil på modulniveau, tilføj kompilsætningen og synkroniser med Gradle.

3. Tilføjelse af en fjernafhængighed, der er vært på sin egen server

Lejlighedsvis kan du støde på et projekt, der stadig distribueres via JCenter eller Maven Central, men udvikleren har valgt at være vært for deres projekt på deres egen server. Når dette er tilfældet, skal projektets GitHub-side fortælle dig at bruge en meget specifik URL, f.eks. Fabric's Crashlytics Kit-arkiv findes på https://maven.fabric.io/public.

Hvis du ser denne type URL, skal du åbne din build-graded fil på projektniveau og derefter erklære depotet (i dette tilfælde Maven) sammen med den nøjagtige URL:

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

Du kan derefter tilføje kompileringsklæringen og synkronisere dine filer som normalt.

Hvad hvis jeg ikke kan finde depotet og / eller kompilere sætningen?

Indtil nu har vi været optimistiske og antaget, at projektets GitHub altid fortæller dig alle de oplysninger, du har brug for at vide. Desværre er det ikke altid tilfældet, så lad os skifte fra best case-scenariet til worst-case-scenariet, og forestil dig, at projektets GitHub-side ikke giver dig oplysninger om det depot og den sammenstillede erklæring, du har brug for.

I dette scenarie kan du enten:

  • Brug JitPack.
  • Klon hele depotet, og importer dets kode til dit projekt som sit eget modul.

Brug af JitPack

JitPack er en pakkeopbevaring til Git, der giver dig mulighed for at tilføje ethvert GitHub-projekt som en fjernafhængighed. Så længe biblioteket indeholder en build-fil, kan JitPack generere alle de oplysninger, du har brug for for at føje dette bibliotek til dit projekt.

Det første trin er at åbne din build.gradle-fil på projektniveau og tilføje JitPack som et lager:

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

Du kan derefter bruge JitPack-webstedet til at generere en kompilering, der er baseret på projektets GitHub-URL:

  • I din webbrowser skal du navigere til bibliotekets GitHub-side. Kopier dens URL.
  • Gå over til JitPack-webstedet.
  • Indsæt webadressen i webstedets søgefelt, og klik derefter på den medfølgende 'Look Up' -knap.
  • Websiden viser derefter en tabel over alle versionerne af dette bibliotek fordelt på forskellige faner: Releaser, Builds, Grenes and Commits. Releaser er typisk mere stabile, mens forpligtelsesafsnittet indeholder de seneste ændringer.

  • Når du har besluttet, hvilken version du vil bruge, skal du klikke på den medfølgende 'Get It' -knap.
  • Webstedet skal opdateres for at vise den nøjagtige kompileringsklæring, du har brug for.

  • Kopier / indsæt denne kompilationssætning i dit projekt modulniveau build.gradle-fil.
  • Synkroniser dine Gradle-filer, og du er klar til at begynde at bruge dit bibliotek!

Kloning af et GitHub-projekt

Alternativt, når du ikke er i tvivl om et biblioteks depot og / eller udarbejder erklæring, kan du måske gerne klon GitHub-projektet. Kloning opretter en kopi af alle GitHub-projektets kode og ressourcer og gemmer denne kopi på din lokale maskine. Du kan derefter importere klonen til dit projekt som sit eget modul og bruge den som modulafhængighed.

Denne metode kan være tidskrævende, og importering af hele projektets kode kan forårsage konflikter med resten af ​​dit projekt. Kloning giver dig dog adgang til al bibliotekets kode, så denne metode er ideel, hvis du vil tilpasse biblioteket, for eksempel ved at finpusse dets kode for bedre at integrere med resten af ​​dit projekt eller endda tilføje nye funktioner (skønt Hvis du har lyst til, at andre mennesker kan drage fordel af dine ændringer, kan du overveje at bidrage med dine forbedringer tilbage til projektet).

Sådan klones et GitHub-projekt:

  • Opret en GitHub-konto.
  • Vælg 'Checkout fra versionskontrol' fra skærmbilledet 'Velkomst' i Android Studio.
  • Indtast dine GitHub-legitimationsoplysninger.
  • Åbn din webbrowser, naviger til det GitHub-arkiv, du vil klone, og kopier / indsæt derefter dens URL i dialogboksen Android Studio.
  • Angiv det lokale bibliotek, hvor du vil gemme det klonede lager.
  • Giv dette bibliotek et navn, og klik derefter på 'Klon'.

Nu har du en kopi af bibliotekets kode, du kan importere dette bibliotek til dit Android-projekt som et nyt modul:

  • Åbn projektet, hvor du vil bruge dit klonede bibliotek, og vælg derefter 'File> New> Import Module' fra værktøjslinjen til Android Studio.
  • Klik på knappen med tre punkter og naviger til dit klonede lager. Vælg dette arkiv, og klik derefter på 'OK'.
  • Klik på 'Afslut'.
  • Vælg 'Fil> Projektstruktur' fra værktøjslinjen til Android Studio.
  • I menuen til venstre skal du vælge det modul, hvor du vil bruge dette bibliotek.
  • Vælg fanen 'Afhængigheder'.

  • Vælg det lille '+' ikon, efterfulgt af 'Modulafhængighed.'
  • Vælg dit biblioteksmodul, og klik derefter på 'OK'.
  • Gå ud af vinduet 'Projektstruktur'.

Afhængigt af det bibliotek, du bruger, skal du muligvis foretage nogle justeringer af din importerede kode, inden dit projekt samles. Hvis f.eks. Android Studios fane 's' klager over inkompatible minSdkVersions, er chancerne for, at API'erne, der bruges af biblioteket, ikke er kompatible med versionerne af Android-platformen, der er defineret i dit projekt's build.gradle-fil. Tilsvarende, hvis Android Studio klager over dit projekt's buildToolsVersion, er det sandsynligvis, at der er en uoverensstemmelse mellem den version, der er defineret i biblioteket, og den version, der er defineret andetsteds i dit projekt. I begge disse scenarier skal du kontrollere værdierne, der er defineret i begge build.gradle-filer, og ændre dem i overensstemmelse hermed.

Fejlfinding

Når du arbejder med nogen slags tredjepartssoftware, som en generel regel er det mere sandsynligt, at du støder på inkompatibiliteter, bugs og all-around mærkelig adfærd sammenlignet med når du bruger en pakke software, der blev udviklet af det samme team, og hvor hvert eneste puslespil var specielt designet til at arbejde sammen.

Hvis du oplever problemer efter at have tilføjet et bibliotek til dit projekt, skal du prøve følgende rettelser:

  • Kontroller, at du ikke ved et uheld har tilføjet flere versioner af det samme bibliotek. Hvis Android Studio rapporterer en “flere DEX-filer definerer fejl”, kan du muligvis have tilføjet det samme bibliotek til dit projekt mere end én gang. Du kan gennemgå dit moduls afhængigheder ved at vælge 'Fil> Projektstruktur' på værktøjslinjen til Android Studio og derefter vælge det modul, du vil undersøge, og klikke på fanen 'Afhængigheder'. Hvis et bibliotek vises i dette vindue flere gange, skal du vælge duplikatet og klikke på det lille '-' ikon for at fjerne det.
  • Søg på nettet. Der er altid en chance for, at andre mennesker kan have stødt på det samme problem som dig, så udfør en hurtig Google-søgning for at se, om nogen har lagt ud om dette emne på fora eller samfund som Stackoverflow. Du kan endda have held og finde en blog eller en tutorial, der indeholder instruktioner om, hvordan du løser dette nøjagtige problem.
  • Rengør og genopbyg dit projekt. Nogle gange er det nok at vælge 'Build> Clean project' fra værktøjslinjen til Android Studio efterfulgt af 'Build> Rebuild project', nok til at løse dit problem.
  • Og hvis alt andet mislykkes ... At få tredjepartssoftware til at fungere korrekt kræver undertiden en smule prøve og fejl, så hvis der er en alternativ metode til at importere dit valgte bibliotek, er det altid værd at prøve. Bare fordi dit projekt nægter at sammensætte, efter at du har importeret et klonet lager, betyder det ikke nødvendigvis, at det får den samme reaktion, hvis du prøver at bruge det samme bibliotek som en fjernafhængighed.

Afslutter

I denne artikel kiggede vi på, hvordan du kan tilføje ethvert bibliotek, du opdager på GitHub, til dit Android-projekt, uanset om dette bibliotek distribueres via JCenter eller Maven Central. Og selvom du ikke har nogen idé om, hvilket arkiv eller en kompilering, du skal bruge, har du altid muligheden for at bruge JitPack eller klone bibliotekets kode.

Har du opdaget nogle gode Android-biblioteker på GitHub? Fortæl os det i kommentarerne herunder!

I betragtning af at Honor 20 og Honor 20 Pro lancere om to uger (vi lærte alt om Honor 20 Lite i går), ved vi meget lidt om de kommende mellemklae flagkibe. Vi ved ikke engang, hvilken lag k...

Honor har ikke nødvendigvi en dedikeret piltelefon, men virkomheden håber alligevel at fange gamer opmærkomhed med Honor 20 Pro. Virkomheden annoncerede en ny piltrategi på Gamecom...

Vores Anbefaling